Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery验证模式方法停止对其他字段的验证_Jquery_Jquery Validate - Fatal编程技术网

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

Jquery验证模式方法停止对其他字段的验证,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jqueryvalidate插件以及用于表单客户端验证的其他方法。到目前为止一切都很好,我只有一个问题。当我使用其中一个附加方法对其进行验证时,如果该方法失败,则它不会继续验证任何其他字段 因此,目前我将表单留空,然后点击submit,我会看到所有错误的列表。但如果我在名称字段中输入数字并点击submit,那么对于失败的模式规则,我只看到一个错误。以下是我的jquery: $j("#wizardForm").validate({ rules: { firstna

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

因此,目前我将表单留空,然后点击submit,我会看到所有错误的列表。但如果我在名称字段中输入数字并点击submit,那么对于失败的模式规则,我只看到一个错误。以下是我的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."
    }
});
当来自其他方法的规则失败时,是否有一种方法可以允许它显示所有错误

您的包装器选项正在破坏它。可能是因为您试图在容器外部创建元素。阅读

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

但您没有创建错误消息列表;您正在内联创建消息,因此包装器和errorLabelContainer在本演示中毫无意义


否则工作:

附加方法文件或其中包含的任何内容都不会导致您描述的问题。这只是一个方法列表。请显示相关的HTML标记,以便我可以复制。目前,您所展示的代码并没有演示您所描述的内容。所有错误仍然存在:虽然您在“姓氏”字段中使用了模式规则,但在“名字”字段中定义了其自定义消息,这通常也不会破坏任何内容。@Sparky我已编辑代码,将模式方法包括在“姓氏”和“姓氏”字段中。我使用了您的JSFIDEL并将上面的代码粘贴到其中,通过在“名字”字段中输入“123”,或在“姓氏”字段中输入“123”,同时将“名字”字段留空,可以重现问题。它只显示一个错误,而不是所有错误的列表。我真的很感谢你的帮助。如果我没有创建一个错误列表,那么这是可行的。但是,如果我要创建一个错误列表,因为一旦我解决了这个问题,这是我的最终目标,我将如何去做呢?在创建列表时,如果不使用包装器选项而保留errorLabelContainer,仍然会出现同样的问题。这里添加了一个容器,因此错误不再是内联的@Jmh2013,您正在按照文档中的示例进行操作,但它仍然不完整。我相信你在插件中发现了一个bug,应该在他的GitHub页面上向开发者报告:我在他的GitHub页面上提交了一个问题。不过你确实回答了原来的问题。非常感谢。如果你有兴趣,这里有一个链接到报告的问题。