我有自定义验证器,一切正常,但更改值时不会删除错误消息。
(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更改值时,仍然存在错误消息。
为什么?
答案 0 :(得分:0)
错误未被删除,因为该隐藏字段值的更改未跟随插件使用的事件,例如onfocusout
,onkeyup
等。
在您的jQuery中,在您更改隐藏字段的值后,请立即调用the plugin's .valid()
method to programmatically trigger another validation test,然后会自动更新所有未完成的消息。
$('#myHiddenFieldID').val(myNewValue); // whatever code is changing the value of the hidden field.
$('#myFormID').valid();