jQuery.Validate 驗證:
http://www.runoob.com/jquery/jquery-plugin-validate.html
教程網址,很簡單,
今天主要在這里記錄一下remote遠端驗證,這個坑了我很長時間
需求是一個日期框校驗的,光必填校驗不夠,為了保證樣式的統一,需要通過后台返回結果來判斷,后台判斷這個日期可以,則通過,不可以,則需要校驗提示,需要和普通校驗的樣式一樣
剛開始想的是addClass....哈哈哈,菜鳥的思路!!!不能這樣,
於是大神告訴我試試remote遠端驗證,果然就可以了,因為大神也沒做過類似的,所以自己一步步來,基本把該踩的坑都踩遍了.
需要校驗數據:
rules: {
workDate:{
required:true,
remote:{
type:"GET",
contentType: "application/json;charset=UTF-8",
url:"minierp/pm/workHours/isfilledbyajax",//請求地址
//傳遞的參數,不寫默認是當前校驗的值
data:{
//多參數傳遞,每個值需要用function返回,
param1:function(){
return me.data1;
},
param2:function(){
return me.data2;
},
param3:function(){
return me.data3;
}
}
}
},
messages:{
//自定義提示信息
workDate:{
remote:"日期重復"
}
}
注意:這里有個空,取數據的時候不能直接用this,需要轉一下,可以在data里面用 let me=this;
直接用this的話會報錯,這是一個大坑了,這里原因是this對象的一個坑:

這樣就可以了,然后叫可以進行校驗了,效果如下:

然后這塊后台接口使用@RequestParam Map<String, String> param接受,GET或者POST方法都可以,
注意前端一定要寫
contentType: "application/json;charset=UTF-8",
否則會報json轉換異常!
這樣即使有特殊需求校驗,必須要從后端異步,且樣式還要和前端保持一致,就可以輕松實現了!
