我想为jQuery验证添加一个自定义规则,虽然我已经检查了文档,但我还是无法找到如何执行此操作。
我想循环一组隐藏的表单字段。如果字段值为“X”,那么我想将错误类附加到字段。
基本上这个,但作为规则添加到jQuery验证。
$(".myHiddenField").each( function() {
if($(this).val() == "x") {
$(this).closest(".foo").appendClass("error");
}
});
答案 0 :(得分:12)
您可以使用addMethod()
$.validator.addMethod('yourRuleName', function (value, element, param) {
//Your Validation Here
return isValid; // return bool here if valid or not.
}, 'Your error message!');
$('#myform').validate({
rules: {
field1: {
yourRuleName: true
}
}
});
答案 1 :(得分:1)
如果要在不添加实际规则的情况下显示某些自定义错误消息,则可以使用showErrors()方法,但如果您正在处理隐藏字段,则可能无效
var validator = $( "<form-selector>" ).validate();
var errors = {};
$(".myHiddenField").each( function() {
var $this = $(this);
if($this.val() == "x") {
errors[$this.attr('name')] = 'Some error message';
}
});
validator.showErrors(errors);
答案 2 :(得分:0)
$.validator.addMethod("NOTx", function(element,value) {
return value != "x";
}, 'warning word"!');