更改特定表单的验证设置

时间:2014-01-29 15:55:58

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

考虑通过AJAX加载的form。将form附加到我正在调用的文档

之后
$.validator.unobtrusive.parse($form);

并且客户端验证就像魅力一样。但是在某些情况下,当我需要更改验证设置时,例如ignore,所以我调用

$form.validate({
    ignore: ''
});

$.validator.unobtrusive.parse($form); // and parse with new settings

在这种情况下,不显眼的客户端验证不起作用。可能是什么问题?

修改

“不起作用”表示$form.valid()始终为true

2 个答案:

答案 0 :(得分:3)

我找到了解决方案:

$.validator.unobtrusive.parse($form); // parse the form
var validator = $.data($form[0], 'validator'); // get the form's validator
validator.settings.ignore = ''; // change its settings

答案 1 :(得分:1)

我认为这会有所帮助。

<div class="editor-field">
   @{ Html.EnableClientValidation(false); }
   @Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" })
   @{ Html.EnableClientValidation(true); }</div>