Jquery 需要来自组的错误放置
Jquery error placement with required from group
我正在使用以下 js 并尝试将其与错误放置相结合。基本上,我只是尝试将错误消息打印到特定的 div.
我想我应该使用类似的东西:
errorPlacement: function(error, element) {
if (element.attr("class") == "days_group" )
error.insertAfter("#special_place");
else
error.insertAfter(element);
}
但我不确定这是否有效或将代码放在以下位置:
这是link到jsfiddle(您需要转到第三页)
$(".next").click(function(){
var form = $("#reg_form");
form.validate({
errorElement: 'span',
errorClass: 'help-block',
highlight: function(element, errorClass, validClass) {
$(element).closest('.form-group').addClass("has-error");
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest('.form-group').removeClass("has-error");
},
groups: {
days_groups: "M Tu W Th F Sa Su"
},
rules: {
M:{
require_from_group:[1,'.days_group']
},
Tu:{
require_from_group:[1,'.days_group']
},
W:{
require_from_group:[1,'.days_group']
},
Th:{
require_from_group:[1,'.days_group']
},
F:{
require_from_group:[1,'.days_group']
},
Sa:{
require_from_group:[1,'.days_group']
},
Su:{
require_from_group:[1,'.days_group']
},
first_name: {
required: true,
},
last_name: {
required: true,
},
email1 : {
required: true,
},
email2 : {
required: true,
equalTo: '#email1',
},
pass1 : {
required: true,
},
pass2 : {
required: true,
equalTo: '#pass1',
},
day: {
require_from_group: [1, ".days-group"]
},
},
messages: {
M: {
require_from_group: "Please select at least 1 day"
},
Tu: {
require_from_group: "Please select at least 1 day"
},
W: {
require_from_group: "Please select at least 1 day"
},
Th: {
require_from_group: "Please select at least 1 day"
},
F: {
require_from_group: "Please select at least 1 day"
},
Sa: {
require_from_group: "Please select at least 1 day"
},
Su: {
require_from_group: "Please select at least 1 day"
},
first_name: {
required: "First name required",
},
last_name: {
required: "Last name required",
},
email1: {
required: "Email required",
},
email2: {
required: "Confirm Email required",
equalTo: "Emails do not match",
},
pass1: {
required: "Password required",
},
pass2: {
required: "Confirm password required",
equalTo: "Passwords do not match",
},
}
});
试试这个:
errorPlacement: function(error, element) {
if (element.hasClass("days_group")) {
error.insertAfter("#special_place");
} else {
error.insertAfter(element);
}
}
我正在使用以下 js 并尝试将其与错误放置相结合。基本上,我只是尝试将错误消息打印到特定的 div.
我想我应该使用类似的东西:
errorPlacement: function(error, element) {
if (element.attr("class") == "days_group" )
error.insertAfter("#special_place");
else
error.insertAfter(element);
}
但我不确定这是否有效或将代码放在以下位置:
这是link到jsfiddle(您需要转到第三页)
$(".next").click(function(){
var form = $("#reg_form");
form.validate({
errorElement: 'span',
errorClass: 'help-block',
highlight: function(element, errorClass, validClass) {
$(element).closest('.form-group').addClass("has-error");
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest('.form-group').removeClass("has-error");
},
groups: {
days_groups: "M Tu W Th F Sa Su"
},
rules: {
M:{
require_from_group:[1,'.days_group']
},
Tu:{
require_from_group:[1,'.days_group']
},
W:{
require_from_group:[1,'.days_group']
},
Th:{
require_from_group:[1,'.days_group']
},
F:{
require_from_group:[1,'.days_group']
},
Sa:{
require_from_group:[1,'.days_group']
},
Su:{
require_from_group:[1,'.days_group']
},
first_name: {
required: true,
},
last_name: {
required: true,
},
email1 : {
required: true,
},
email2 : {
required: true,
equalTo: '#email1',
},
pass1 : {
required: true,
},
pass2 : {
required: true,
equalTo: '#pass1',
},
day: {
require_from_group: [1, ".days-group"]
},
},
messages: {
M: {
require_from_group: "Please select at least 1 day"
},
Tu: {
require_from_group: "Please select at least 1 day"
},
W: {
require_from_group: "Please select at least 1 day"
},
Th: {
require_from_group: "Please select at least 1 day"
},
F: {
require_from_group: "Please select at least 1 day"
},
Sa: {
require_from_group: "Please select at least 1 day"
},
Su: {
require_from_group: "Please select at least 1 day"
},
first_name: {
required: "First name required",
},
last_name: {
required: "Last name required",
},
email1: {
required: "Email required",
},
email2: {
required: "Confirm Email required",
equalTo: "Emails do not match",
},
pass1: {
required: "Password required",
},
pass2: {
required: "Confirm password required",
equalTo: "Passwords do not match",
},
}
});
试试这个:
errorPlacement: function(error, element) {
if (element.hasClass("days_group")) {
error.insertAfter("#special_place");
} else {
error.insertAfter(element);
}
}