jQuery验证 - 至少需要一个来自组,以及其他项目

时间:2010-05-30 00:48:18

标签: jquery jquery-validate

我正在尝试在需要电子邮件地址 plus 的表单上使用'jQuery Validate',或者发货地址的所有项目都已完成,或者根本没有。

使用此问题的解决方案提供的示例:jQuery Validate - “Either skip these fields, or fill at least X of them”,我已成功解决了地址组的验证问题。

然而,问题是验证电子邮件地址字段的逻辑不起作用。从调试验证脚本开始,通过调用'fields.data('being_validated',true)触发“重入”验证代码.valid();'在链接的示例中导致重置所有先前验证的错误(即清除电子邮件验证错误)。

我修改了一些现有的样本,第一个删除违规行,第二个包含它。

Email Validation Working

Email Validation Fails

有关如何正确解决此问题或解决失败的任何提示或建议?

1 个答案:

答案 0 :(得分:1)

在你的情况下,我会改变一些事情:

1)设置jQuery.validate({ onsubmit: false }),因为您不希望默认情况下运行验证,您希望控制何时运行验证。

2)在表单提交期间按照您自己的条件进行防火验证:

$("form").submit(function() {
    $("emailField").validate();
    if ($("emailField").valid())
    {
        $("form").validate();
        return $("form").valid();
    }
    return $("emailField").valid();
});

我可能完全不了解您的要求,但希望这至少会帮助您从不同的角度看待解决方案。