Ich habe ein Formular, mit dem Menschen bis zu 5 Personen beziehen können. Wenn der Name von Referrer 1 ausgefüllt wird, überprüft der jquery-Code das Formular und fordert den Benutzer auf, die anderen Formularfelder für Verweis 1 auszufüllen.Looping von Regeln Jquery
Ich frage mich, ob es möglich ist, eine Schleife zu erstellen, die die Überprüfung durchführt 5x anstatt den untenstehenden Code für jeden Überweisungssatz zu kopieren und einzufügen?
$("#customer_referral").validate({
rules: {
Referral_1_Salutation: {
required: function(element) {
if($('[name="Referral_1_Name"]').is(':filled')||$('[name="Referral_1_Email"]').is(':filled')||$('[name="Referral_1_Contact_Number_Mobile"]').is(':filled') || $('[name="Referral_1_Contact_Number_Home"]').is(':filled') || $('[name="Referral_1_Contact_Number_Office"]').is(':filled')||($('[name="Referral_1_Best_Time_To_Call"]').prop("selectedIndex")!=0)){
return true;
} else {
return false;
}
}
},
Referral_1_Name: {
required: function(element) {
if(($('[name="Referral_1_Salutation"]').prop("selectedIndex")!=0) || $('[name="Referral_1_Email"]').is(':filled') || $('[name="Referral_1_Contact_Number_Mobile"]').is(':filled') || $('[name="Referral_1_Contact_Number_Home"]').is(':filled') || $('[name="Referral_1_Contact_Number_Office"]').is(':filled')||($('[name="Referral_1_Best_Time_To_Call"]').prop("selectedIndex")!=0)){
return true;
} else {
return false;
}
}
},
Referral_1_Email: {
required: function(element) {
if(($('[name="Referral_1_Salutation"]').prop("selectedIndex")!=0) || $('[name="Referral_1_Name"]').is(':filled') || $('[name="Referral_1_Contact_Number_Mobile"]').is(':filled') || $('[name="Referral_1_Contact_Number_Home"]').is(':filled') || $('[name="Referral_1_Contact_Number_Office"]').is(':filled')||($('[name="Referral_1_Best_Time_To_Call"]').prop("selectedIndex")!=0)){
return true;
} else {
return false;
}
}
},
Referral_1_Best_Time_To_Call: {
required: function(element) {
if(($('[name="Referral_1_Salutation"]').prop("selectedIndex")!=0) || $('[name="Referral_1_Name"]').is(':filled') || $('[name="Referral_1_Email"]').is(':filled') || $('[name="Referral_1_Contact_Number_Mobile"]').is(':filled') || $('[name="Referral_1_Contact_Number_Home"]').is(':filled') || $('[name="Referral_1_Contact_Number_Office"]').is(':filled')){
return true;
} else {
return false;
}
}
},
//Check if any one of the contact number is filled
Referral_1_Contact_Number_Mobile: {
require_from_group_contact: function(element) {
if (($('[name="Referral_1_Salutation"]').prop("selectedIndex")!=0) || $('[name="Referral_1_Name"]').is(':filled') || $('[name="Referral_1_Email"]').is(':filled') || ($('[name="Referral_1_Best_Time_To_Call"]').prop("selectedIndex")!=0)) {
return [1, ".oneormore"];
} else {
return [0, ".oneormore"];
}
}
},
Referral_1_Contact_Number_Home: {
require_from_group_contact: function(element) {
if (($('[name="Referral_1_Salutation"]').prop("selectedIndex")!=0) || $('[name="Referral_1_Name"]').is(':filled') || $('[name="Referral_1_Email"]').is(':filled') || ($('[name="Referral_1_Best_Time_To_Call"]').prop("selectedIndex")!=0)) {
return [1, ".oneormore"];
} else {
return [0, ".oneormore"];
}
}
},
Referral_1_Contact_Number_Office: {
require_from_group_contact: function(element) {
if (($('[name="Referral_1_Salutation"]').prop("selectedIndex")!=0) || $('[name="Referral_1_Name"]').is(':filled') || $('[name="Referral_1_Email"]').is(':filled') || ($('[name="Referral_1_Best_Time_To_Call"]').prop("selectedIndex")!=0)) {
return [1, ".oneormore"];
} else {
return [0, ".oneormore"];
}
}
}
//End of check if any one of the contact number is filled
},
});
Als Randbemerkung, versuchen Sie den [erfordert aus der Gruppe] mit (https://jqueryvalidation.org/require_from_group-method/) Validator auf Ihrem wiederholten Code abgeholzt . –