jquery 验证错误多个字段 1 个自定义错误消息
jquery validation error multiple fields 1 custom error message
我在 Stack 上四处寻找,试图找到解决我在 jQuery 验证中遇到的问题的方法。我决定将输入字段下方的错误消息更改为放置在表单上方的 单个 通用全包消息。
我在那条消息 "#error_mail" 上有一个 class "hide" 我想用"error" 当 submission/validation 的字段中出现错误时。
任何帮助将不胜感激,提前致谢。
HTML
<form action="#" method="post" class="new_web_user" id="new_web_user" autocomplete="off">
<p class="fields-required">
*Required fields</p>
<p id="error_mail" class="hide">We're sorry, the fields highlighted in red are required</p>
<div class="field-column"> etc etc.....
JS
$(function(){jQuery.validator.setDefaults({
errorContainer: "#error_mail",
errorPlacement: function(error, element) {
error.appendTo('#error_mail');
},
ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input'
});
$('#new_web_user').validate({
rules: {
web_user_title: {required: true},
web_user_given_name: {
required: true
},
web_user_family_name: {
required: true
},
web_user_email: {
required: true,
email: true
},
email_confirmation: {
required: true,
equalTo: '#web_user_email'
},
web_user_country: {
required: false,
},
},
messages : {
web_user_title: {
required: "Please select a title."
},
web_user_given_name: {
required: "Firstname is required."
},
web_user_family_name: {
required: "Lastname is required."
},
web_user_email: {
required: "Email address is required.",
email: "Email address seems invalid."
},
email_confirmation: {
required: "Email address is required.",
equalTo: "Email addresses do not match."
},
web_user_country: {
required: "Please choose your country."
}
},
submitHandler: function(form) {
$.ajax({
您可以使用 jQuery 中提供的选项大大简化此验证:
$("#new_web_user").validate({
errorContainer: '#error_mail',
errorLabelContainer: '#actual_errors',
wrapper:'li',
//your rules and messages here
});
然后,将您的 HTML 更改为更像这样的内容:
<p id="error_mail" class="hide error">
We're sorry, the fields highlighted in red are required
<ul id="actual_errors"></ul>
</p>
请注意,不要 adding/removing 您想要 #error_mail
上的错误 class,只需始终设置它,因为它只会在出现问题时可见。 .
看到它在这里工作:http://jsfiddle.net/cayjuwf4/
我在 Stack 上四处寻找,试图找到解决我在 jQuery 验证中遇到的问题的方法。我决定将输入字段下方的错误消息更改为放置在表单上方的 单个 通用全包消息。 我在那条消息 "#error_mail" 上有一个 class "hide" 我想用"error" 当 submission/validation 的字段中出现错误时。 任何帮助将不胜感激,提前致谢。
HTML
<form action="#" method="post" class="new_web_user" id="new_web_user" autocomplete="off">
<p class="fields-required">
*Required fields</p>
<p id="error_mail" class="hide">We're sorry, the fields highlighted in red are required</p>
<div class="field-column"> etc etc.....
JS
$(function(){jQuery.validator.setDefaults({
errorContainer: "#error_mail",
errorPlacement: function(error, element) {
error.appendTo('#error_mail');
},
ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input'
});
$('#new_web_user').validate({
rules: {
web_user_title: {required: true},
web_user_given_name: {
required: true
},
web_user_family_name: {
required: true
},
web_user_email: {
required: true,
email: true
},
email_confirmation: {
required: true,
equalTo: '#web_user_email'
},
web_user_country: {
required: false,
},
},
messages : {
web_user_title: {
required: "Please select a title."
},
web_user_given_name: {
required: "Firstname is required."
},
web_user_family_name: {
required: "Lastname is required."
},
web_user_email: {
required: "Email address is required.",
email: "Email address seems invalid."
},
email_confirmation: {
required: "Email address is required.",
equalTo: "Email addresses do not match."
},
web_user_country: {
required: "Please choose your country."
}
},
submitHandler: function(form) {
$.ajax({
您可以使用 jQuery 中提供的选项大大简化此验证:
$("#new_web_user").validate({
errorContainer: '#error_mail',
errorLabelContainer: '#actual_errors',
wrapper:'li',
//your rules and messages here
});
然后,将您的 HTML 更改为更像这样的内容:
<p id="error_mail" class="hide error">
We're sorry, the fields highlighted in red are required
<ul id="actual_errors"></ul>
</p>
请注意,不要 adding/removing 您想要 #error_mail
上的错误 class,只需始终设置它,因为它只会在出现问题时可见。 .
看到它在这里工作:http://jsfiddle.net/cayjuwf4/