这有效:
$("[id$='_zzz']").rules(
"add",
{
required: true,
minlength: 8,
messages: {
required: "...",
minlength: jQuery.format("...")
}
}
);
出现错误消息。
当我尝试设置邮件样式时,这不起作用:
$("[id$='_zzz']").rules(
"add",
{
required: true,
minlength: 8,
messages: {
required: "...",
minlength: jQuery.format("...")
},
errorElement: "span",
errorPlacement: function(error, element) {
error.insertAfter(element);
error.css("margin", "0 0 0 5px");
}
}
);
当我通过验证功能设置样式时,将应用样式以使其起作用:
$('#aspnetForm').validate({
errorElement: "span",
errorPlacement: function(error, element) {
error.insertAfter(element);
error.css("margin", "0 0 0 5px");
}
});
为什么我不能在规则添加功能中使用错误放置来设置样式?
答案 0 :(得分:2)
在第一种方法中,您将对象的errorPlacement
属性/函数传递给rules方法......它根本不关心检查这个并且不使用它。对于传递给javascript的任何对象,它必须检查该属性或以某种方式使用它,否则它只是无关的信息。您也可以将myExtrathing:'ValueHere'
添加到对象中,不会破坏任何内容......但也不会使用。
默认选项中.validate()
method has an existing errorPlacement
function(主动使用,这是重要部分,正在寻找)和performs an extend将默认方法替换为默认选项你提供的...如果你提供了一个。对于几乎每个jQuery插件和您指定的任何选项,这种情况都是如此,它将默认选项与您提供/覆盖的选项合并。您可以看到此行为的一些简单示例in the jQuery plugin authoring manual。