Jquery验证模式方法停止其他字段的验证

时间:2015-05-07 14:57:59

标签: jquery jquery-validate

我正在使用Jquery Validate插件以及用于客户端验证表单的其他方法。到目前为止一切都很好,我只有一个问题。当我使用其中一个附加方法来验证它时,如果那个失败,那么它不会继续验证任何其他字段。

所以目前我将表单留空并点击提交我看到了所有错误的列表。但是如果我在名称字段中输入数字并点击提交,那么我只会看到失败模式规则的一个错误。这是我的jquery:

$j("#wizardForm").validate({
    rules: {
        firstname: {
            required: true,
            pattern: /^[a-zA-Z]+([\s]+)?[']?([a-zA-Z]+)?$/
        },
        lastname: {
            required: true,
            pattern: /^[a-zA-Z]+([\s]+)?[']?([a-zA-Z]+)?$/
        },
        email: {
            required: true,
            email: true
        },
        password: "required",
        PWconfirm: "required",
        country: "required"
    },
    errorLabelContainer: ".validation-error-msg",
    wrapper: "li",
    errorClass: "validation-error",
    messages: {
        firstname: {
            required: "The 'First Name' field cannot be empty.",
            pattern: "The first name field must only contain letters."
        },
        lastname: {
            required: "The 'Last Name' field cannot be empty.",
            pattern: "The 'Last Name' field must only contain letters."
        },
        email: {
            required: "The 'Email Address' field cannot be empty.",
            email: "The email address must be in a valid email format."
        },
        password: "The 'Password' field cannot be empty.",
        PWconfirm: "The 'Retype Password' field cannot be empty.",
        country: "The 'Country' field needs a valid selection."
    }
});

当其他方法的规则失败时,有没有办法让它显示所有错误?

1 个答案:

答案 0 :(得分:0)

您的wrapper选项正在打破它。可能是因为您尝试在<li>容器之外创建<ul>元素。阅读the docs for wrapper ...

  

用指定的元素包装错误标签。 errorLabelContainer结合使用可创建错误消息列表

但您没有创建“错误消息列表”;您是在线创建消息,因此{1}}和wrapper在此演示中毫无意义。

否则:http://jsfiddle.net/07jm89wp/3/