我有一个使用 jquery.validate 的表单。我最初使用一组规则和自定义消息调用验证...
$("#formName").validate( {
rules: {
myExistingInput: {
required: true
}
},
messages: {
myExistingInput: {
required: "Enter something"
}
},
ignore: null, // include hidden fields (see below)
submitHandler: function(form) {
// do stuff
},
invalidHandler: function(event, validator) {
// do stuff (some of the fields may have been hidden by a collapsible panel
// if there is an error on one of those fields, expand the panel so the error
// becomes visible)
}
});
后来,我在表单中动态添加字段,并为这些字段添加规则......
$("#formName").append(...);
$("#newInputName").rules("add", {
required: true,
messages: {
required: "Enter something else"
}
});
如果我然后提交表单,我会从 jquery.validate 中收到一个错误...
检查元素 newInputName 时发生异常,检查“消息”方法。类型错误:无法获取未定义或空引用的属性“调用”
在浏览器中调试,我可以看到错误是从“检查”函数中抛出的,并且“方法”变量设置为“消息”。
如果我从对规则的调用中删除消息(“添加”,...
$("#newInputName").rules("add", {
required: true
});
它按预期工作,但显然我现在没有自定义错误消息。
我在这里看到了很多关于 SO 的例子,表明我的语法是正确的。有什么建议么?
顺便说一句:jQuery 验证插件 - v1.11.0 - 2/4/2013