0

我有自定义验证器,除了值更改时没有删除错误消息外,一切正常。

(function ($) {
$.validator.addMethod('lastcategory', function (value, element) {
    alert(value);
    return value != 0;
}, '');

$.validator.unobtrusive.adapters.addBool('lastcategory');

$.validator.setDefaults({ ignore: [] });
}(jQuery));

我的领域是隐藏领域。当我按下提交时,值为 0 并且错误可见。当我通过 jquery 更改值时,eq : 7,错误消息仍然存在。

为什么?

4

1 回答 1

0

该错误未删除,因为该隐藏字段值的更改未跟随插件使用的事件,例如onfocusout,onkeyup等。

在您的 jQuery 中,在您更改隐藏字段的值后,立即调用插件的.valid()方法以编程方式触发另一个验证测试,然后自动更新任何未完成的消息。

$('#myHiddenFieldID').val(myNewValue); // whatever code is changing the value of the hidden field.
$('#myFormID').valid();
于 2013-03-11T21:57:11.553 回答