我有一个复选框字段,用于确定进行中的客户端ID字段是否具有data-validate required属性:true或者data-validate required:false来驱动我的表单验证。
<input type="text" name="stID" id="stID" data-validate="required:true" />
使用jquery我可以实时更改需求,同时显示/隐藏并添加/删除与该字段关联的错误类。
$("#input[name='stID']").attr("data-validate","required:false");
var form=$("#standard");
form.validate().resetForm();
问题在于有人试图提交表单,然后更改初始复选框选项(如果为true,则ID不是必需的,否则如果为false,则需要ID)。
发生这种情况时,尽管需要数据验证:设置为false并隐藏错误类,验证仍在进行并标记stID字段。
jquery验证器插件是否有一个缓存/字段数组导致它在提交时确定的错误,并且在我们验证的resetForm函数被调用时可能没有被清除/重置?
答案 0 :(得分:0)
找到解决方案,仍需要清除与这些字段关联的数据属性,在更改其要求后产生错误。这是由
完成的$("#stID").removeData();