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