请为我的表格提供一些帮助
我使用验证插件。
http://jsfiddle.net/Xroad/2pLS2/23/
我想为所有空字段添加一条常规消息,并且该字段在相关消息下面填充自定义字段(例如“请输入至少2个字符”)
我该怎么办呢?
$.validator.setDefaults({
errorClass: 'error-image',
validClass: 'ok-image',
errorElement: 'span',
errorContainer: '#invalid-empty',
errorPlacement: function(error,element) {
return true;
}
});
$("#form-general").validate({
rules: {
firstname: {
minlength: 2,
maxlength: 25
},
name: {
minlength: 2,
maxlength: 25
},
email: {
email: true
}
}
});
答案 0 :(得分:2)
您可以使用messages
选项指定自定义消息。
检查此JSFiddle以获取演示。
向选项添加自定义messages
并移除空errorPlacement
:
$.validator.setDefaults({
errorClass: 'error-image',
validClass: 'ok-image',
errorElement: 'span',
errorContainer: '#invalid-empty',
//errorPlacement: function(error,element) {
// return true;
//},
messages: {
name: {
required: "",
minlength: "Dude, your first name is longer than that..."
},
firstname: {
required: "",
minlength: "I know you can type at least one more character!"
},
email: {
required: "",
email: "Your email address must be in the format of name@domain.com"
},
telephone: "",
message: ""
}
});
只需指定您要覆盖默认消息的规则,然后编写自定义消息。
由于您只想在顶部显示常规required
消息,因此您只需将required
条消息覆盖为空字符串,这样就不会在输入下方显示任何内容。
答案 1 :(得分:0)
只需删除errorPlacement
选项即可自动执行此操作。通过这个:
errorPlacement: function(error,element) {
return true;
}
您告诉jQuery Validate根本不放置错误消息。删除它将允许插件发出消息,这听起来像你想要的。如果您想跳过所需的消息但允许其他消息,则可能必须使用errorPlacement的error
部分。它包含消息字符串,因此它会说出“必需”的内容,您可以使用RegExp来显示它。
也许:
errorPlacement: function(error,element) {
if (/required/.test(error.text()){
return false;
} else {
error.insertAfter(element);
}
}