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对象的一个坑:

扫描二维码关注公众号,回复: 1069205 查看本文章

这样就可以了,然后叫可以进行校验了,效果如下:

然后这块后台接口使用@RequestParam Map<String, String> param接受,GET或者POST方法都可以,

注意前端一定要写 

contentType: "application/json;charset=UTF-8",
否则会报json转换异常!
这样即使有特殊需求校验,必须要从后端异步,且样式还要和前端保持一致,就可以轻松实现了!

猜你喜欢

转载自www.cnblogs.com/houzheng/p/9101363.html