【发布时间】:2012-02-23 08:20:34
【问题描述】:
我正在使用 validationEngine 脚本来验证表单。我初始化它:
$("#formid").validationEngine();
我并没有真正通过提交按钮提交表单。我使用带有onclick 事件的锚元素,该事件调用saveElement() 函数。在这个函数中我调用:
$("#formid").validationEngine('validate');
效果很好。
紧接着,我重置了字段(例如,输入字段的内容为""),通过这些字段,需要的字段开始显示错误。
为了防止发生这些错误,我想从表单元素中删除validationEngine。但我就是无法删除它。我尝试了各种选项,包括以下选项,但都没有奏效。
$('#formid').validationEngine('hideAll'); // To hide the error messages
$('#formid').validationEngine('detach'); // To remove the validationEngine
有没有人建议我如何删除验证引擎?
解决方法
真的好像没有解除绑定的方法。我在 github 项目中添加了一个问题。也许他们会实现一个 unbind 方法: https://github.com/posabsolute/jQuery-Validation-Engine/issues/287
作为一种解决方法,我想出了以下解决方案: 你可以:
- 使用 jQuery.clone() 复制没有事件的表单,删除原始表单并再次将validationEngine添加到表单中
- 移除表单元素上的验证类,将它们存储在一个数组中,并在重置表单后再次插入它们
仍然打开
也许有更好的解决方案或解决方法。如果你知道,请告诉我。
【问题讨论】:
标签: javascript jquery forms validation jquery-validation-engine