使用jQuery Unobtrusive Validation禁用元素validation

通过某种表单生成器,在页面上呈现元素列表,并且它们都具有对它们的validation。 当我查看HTML源代码时,我看到如下内容:

 

我需要以某种方式动态地启用/禁用此类元素的validation。 我尝试启用/禁用data-val属性,方法是将其设置为false ,然后再返回true 。 但它似乎没有回应。 validation始终存在!

任何人都知道如何以动态方式启用/禁用某些字段的validation?

我实际上找到了一个更符合我需求的解决方案。 我可以做以下事情:

 $(function() { var settngs = $.data($('form')[0], 'validator').settings; settngs.ignore = ".ignore"; }); 

并且通过添加或删除元素中的classname ignore ,我可以“切换”我想要的任何元素。

我认为这会有所帮助。

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

我认为您需要编写自定义validation属性,然后在JQuery中自己处理数据。

请参阅此文章: http : //www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-part-2