我正在尝试在需要电子邮件地址 plus 的表单上使用'jQuery Validate',或者发货地址的所有项目都已完成,或者根本没有。
使用此问题的解决方案提供的示例:jQuery Validate - “Either skip these fields, or fill at least X of them”,我已成功解决了地址组的验证问题。
然而,问题是验证电子邮件地址字段的逻辑不起作用。从调试验证脚本开始,通过调用'fields.data('being_validated',true)触发“重入”验证代码.valid();'在链接的示例中导致重置所有先前验证的错误(即清除电子邮件验证错误)。
我修改了一些现有的样本,第一个删除违规行,第二个包含它。
有关如何正确解决此问题或解决失败的任何提示或建议?
答案 0 :(得分:1)
在你的情况下,我会改变一些事情:
1)设置jQuery.validate({ onsubmit: false })
,因为您不希望默认情况下运行验证,您希望控制何时运行验证。
2)在表单提交期间按照您自己的条件进行防火验证:
$("form").submit(function() {
$("emailField").validate();
if ($("emailField").valid())
{
$("form").validate();
return $("form").valid();
}
return $("emailField").valid();
});
我可能完全不了解您的要求,但希望这至少会帮助您从不同的角度看待解决方案。