使用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