【问题标题】:jQuery Validate - Require at least one from group, plus additional itemsjQuery Validate - 需要至少一个来自组,加上其他项目
【发布时间】:2010-05-30 00:48:17
【问题描述】:

我正在尝试在需要电子邮件地址加上的表单上使用“jQuery Validate”,要么完成送货地址的所有项目,要么根本不填写。

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

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

我已经修改了一些现有的示例,第一个删除了有问题的行,第二个包含了它。

Email Validation Working

Email Validation Fails

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

【问题讨论】:

    标签: jquery jquery-validate


    【解决方案1】:

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

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

    2) 在表单提交期间按照您自己的条件进行验证,如下所示:

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

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

    【讨论】:

    猜你喜欢
    • 2010-11-21
    • 2019-07-24
    • 2021-08-07
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2020-04-11
    相关资源
    最近更新 更多