我正在使用的产品使用 JQuery 验证和 MVC3 在幕后工作。我有一个字段,我将其切换为只读(基于下拉列表的值是否> 0)。
诀窍是,该字段非只读时需要必填,只读时无论是否有数据都需要提交无误。
我该怎么做呢?
我正在使用的产品使用 JQuery 验证和 MVC3 在幕后工作。我有一个字段,我将其切换为只读(基于下拉列表的值是否> 0)。
诀窍是,该字段非只读时需要必填,只读时无论是否有数据都需要提交无误。
我该怎么做呢?
$.validator.setDefaults({
ignore: ':hidden, [readonly=readonly]'
});
参数的默认ignore
值为":hidden"
。通过使用上面的代码重置默认值,您可以确保 jquery validate 仍然不会作用于隐藏的表单元素,但也不会作用于具有readonly="readonly"
属性的元素。
回复评论
这听起来很奇怪,您可能需要发布一些代码才能获得更多帮助。您可以尝试删除验证错误的一件事是在切换 readonly 属性时手动验证表单,可能是这样的:
$('#the_text_box').attr('readonly', 'readonly');
$.validator.setDefaults(':hidden');
$('form').valid();
$.validator.setDefaults(':hidden, [readonly=readonly]');
您也可以在初始页面加载期间执行类似的操作,以避免即时验证错误消息。
$.validator.setDefaults(':hidden, [readonly=readonly]');
$('form').valid();