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转换异常!
这样即使有特殊需求校验,必须要从后端异步,且样式还要和前端保持一致,就可以轻松实现了!