我对同一字段有两个验证,并且我正在使用 jQuery Validator,我想知道如何清除以前生成的错误消息。
我现在的问题是,如果我有空字段的错误,如果我有另一个错误(例如值必须高于 10),则永远不会被删除。当值为 7 时,我仍然显示“字段不得为空”。
我在谷歌上搜索了这一点,所有建议都是重置验证形式。
var validator = $("#myform").validate(
);
validator.resetForm();
但是,如果我这样做,当然不会显示错误消息。我只需要在检查新闻之前清除 DOM 中的先前错误即可。
有人知道另一种直接与 DOM 交互的方法吗?
我正在尝试这个但没有成功。
if ($.validator.defaults.onfocusout) {
$(element).unbind(".validate-biggerThanOrigin").bind("blur.validate-biggerThanOrigin", function () {
$(element).valid();
});
}
我们像这样定义验证。
$.validator.addMethod("biggerThanOrigin", function (value, element, param) {
return biggerThanOrigin(value, element, param, validationMessages.biggerThanOrigin, validationMessages.referenceForkEmpty);
});
$.validator.addMethod("lessThanOrigin", function (value, element, param) {
return lessThanOrigin(value, element, param, validationMessages.lessThanOrigin, validationMessages.referenceForkEmpty);
});
问候。
最佳答案
您应该为错误提供单独的验证消息。
$("#myform").validate({
rules: {
name: {
"required": true,
"minlength": 10
},
messages: {
name: {
required: "Please specify your name",
minlength: "Your name must be atleast 10 characters long"
}
}
});
这应该适用于您的情况。
编辑:
这是一个工作 FIDDLE 。
关于javascript - 清除之前的 JQuery 验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137741/