asp.net unobtrusive validation删除值更改

时间:2013-03-11 21:28:08

标签: asp.net asp.net-mvc asp.net-mvc-4 jquery-validate unobtrusive-validation

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

(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更改值时,仍然存在错误消息。

为什么?

1 个答案:

答案 0 :(得分:0)

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

在您的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();