jquery validate 动态添加自定义校验规则

需求:再已有验证(也是基于validate插件,验证功能写在表单中,不是用js代码,如:required写在input中)基础上如何自定义,并动态绑定到指定元素上,并通过$("#formid").valid();方法进行验证?

网上找了一圈,基本上都是采用validate的$.validator.addMethod方法来自定义验证规则,然后通过$("#id").rules("add", 方法来动态绑定。但是有问题,会提示:无法获取未定义或 null 引用的属性“settings”的错误。

解决方法:

关键点就是必须先执行$("#formid").validate()方法,再执行动态添加。参考文章:https://www.iteye.com/blog/wyf-2319482

至于什么原因不知道,validate官方文档没看明白,demo也没有很多。

示例代码:

$("#editForm").validate();
$.validator.addMethod("administrative_punishment", function(value) {   
	//do some valid;
    return false;
}, function() { 
	return "这是验证文字";
});
			
$("#cxgsyy").rules("add", {administrative_punishment: true});
$("#xyxfrq").rules("add", {administrative_punishment: true}); 
$("#editForm").valid();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章