我在我的应用程序中使用客户端验证 rails gem v3.1.0。我在需要验证的 jquery 对话框中显示了一个表单。在该表单上启用了客户端状态验证。验证一切正常,但是当用户取消对话框(不提交)时,我想清除任何现有的验证错误。这样,当用户再次触发对话框时,验证错误不会出现在表单上。
我试图通过在对话框关闭时为每个元素触发客户端状态验证传递事件来实现这一点 - 它通过删除包装错误字段和标签来工作。一个问题是后续验证在此代码之后不起作用。我觉得绑定事件被删除并且不再触发。
有没有更好的方法来实现这一目标?
我的jQuery对话框:
$('#create_dialog').dialog({
height: 260,
width: 420,
title: "title",
buttons: {"<%= I18n.t("create") %>": function(e) {
$('#new_segment').submit();
},
Cancel: function() {
var form = $('#new_segment');
form.find('[data-validate]:input').each(function() {
$(this).trigger('element:validate:pass');
});
$(this).dialog("close");
}
}
});