SpringBoot結結合合JSR303對對前前端端數資料據進進行行校校驗驗的的示示例例代代碼碼
一一、、校校驗驗分分類類
資料的校驗一般分為** 前端校驗 、 後端校驗 **
二二、、前前端端校校驗驗
前端校驗是最為明顯的,先說一 :
①① HT ML
非空校驗 如 HTML5 新增的屬性 required="true" ,一旦沒有填寫就輸入框就顯示紅色,具體使用如:
②② JS
同時在送出表單發送 Ajax請求 的時候,來個 onSubmit 函數,具體例如 (使用點 EasyUI ):
function submitData(){
$("#fm").form("submit",{
url:"/admin/film/save",
onSubmit:function(){
var content=CKEDITOR.instances.content.getData();
if(content==""){
$.messager.alert("系統提示","内容不能為空!");
return false;
}
return $(this).form("validate");
},
success:function(result){
var result=eval('('+result+ ')');
if(result.success){
$.messager.alert("系統提示","儲存成功!");
resetValue();
}else{
$.messager.alert("系統提示","儲存失敗!");
}
}
});
}
但我們都知道,這是防君子不防小人的做法,使用者可以使用 F12 ,檢視源碼,修改關鍵部位的代碼,
如把 required="true" 删除掉,就可以送出表單了。
是以前端作用雖然明顯,但是資料處理方面,真正用處并不大。
三三、、後後端端校校驗驗
前面說了那麼多,就是為了引出 後端校驗 這一話題。資料是否送出到資料庫中去,就看後端的代碼了。
後端校驗,主要實施在 JavaBean、Controller 中。 面列舉一個簡單的例子,從代碼中說明一切。
①① 代代碼碼結結構構圖圖
②② entity
實體屬性部位空,一般使用如 @NotEmpty(message="請輸入使用者名!") ,這樣既不能為 空 ,也不能為 null
package com.cun.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import javax.validation.constraints.Size;