如果在jquery validate中添加规则之前我没有先验证表单,则抛出错误

时间:2016-11-29 03:10:44

标签: javascript jquery forms jquery-validate

请告诉我我的jquery验证检查发生了什么?

我添加了规则

$('#zipCodeText').rules("add", {
    required: true,
    minlength: 5,
    maxlength: 5,
    messages: {
        required: "Required input",
        minlength: jQuery.validator.format("Please, {0} characters are necessary"),
        maxlength: jQuery.validator.format("Please, {0} characters are necessary")
    }
});

但是如果我没有先在表单上调用.validate(),那么jquery.validate.js文件会在第147行引发错误"Unable to get property 'settings' of undefined or null reference"

如果我在表单上调用.validate(),则表示没有错误!

这没有任何意义,因为我有另一个页面,我有一个表单,我不必先调用validate来添加规则,然后使用.valid()检查该规则,如果我提交

图书馆是挂在某处还是以某种方式需要重置或者什么?

1 个答案:

答案 0 :(得分:0)

  

但如果我没有首先在表单上调用.validate(),那么{147}文件会在第147行引发错误并说“无法获取未定义或空引用的属性'设置”

     

如果我在表单上调用jquery.validate.js,则表示没有错误!

是的,因为无法在您的表单上初始化插件之前调用.validate()方法!

  

这没有任何意义,因为我有另一个页面,我有一个表单,我不必先调用validate来添加规则,然后使用.rules()检查该规则,如果我提交

这是不可能的,你已经向我们展示了没有任何争议的代码。在调用.valid()方法之前,您必须调用.validate()来初始化插件。

Quoting the documentation for .valid()

  在使用此方法检查之前,需要在表单上调用

.valid()