Имам тест и трябва да добавя валидиране към a confirm email address
поле, като цяло просто трябва да съвпада с имейл адреса, даден в горното поле. Използвам следния JavaScript, мога ли да добавя нещо тук, което ще се увери, че имейлите съвпадат?
if ($("#mtQuiz").length > 0) {
$("#myQuiz").validate({
errorElement: "em",
errorContainer: $("#warning"),
rules: {
"entry[first_name]": "required",
"entry[last_name]": "required",
"entry[email]": {
required: true,
email: true
},
"entry[confirm_email]": {
required: true,
email: true
}
},
messages: {
"entry[first_name]": "Please enter first name",
"entry[last_name]": "Please enter last name",
"entry[email]": {
required: " Please enter a valid email address",
minlength: "Not a valid email address"
},
"entry[confirm_email]": {
required: " Please make sure email matches above",
minlength: "Does not match above email address"
}
}
});
}
Отговори:
6 за отговор № 1if ($("#mtQuiz").length > 0) { // <- unnecessary and superfluous
$("#myQuiz").validate({
// options, etc.
});
}
Използвате jQuery, така че не е необходимо да проверявате за съществуването на #myQuiz
с if ($("#mtQuiz").length > 0)
, Ако #myQuiz
елемент не съществува, jQuery просто ще го игнорира без никакви грешки.
Това е всичко, което трябва да направите ...
$("#myQuiz").validate({ // initialize the plugin
// options, etc.
});
За да съответствате на стойността на друго поле, просто използвайте на equalTo
правило, Докато използвате equalTo
правило, оттогава не е необходимо да се дублира нито едно от другите правила equalTo
винаги ще принуди стойността да съответства на стойността на основното поле, която вече следваше правилата му.
$("#myQuiz").validate({
// options, etc.,
rules: {
"entry[first_name]": "required",
"entry[last_name]": "required",
"entry[email]": {
required: true,
email: true
},
"entry[confirm_email]": {
//required: true, // <- redundant, not needed with "equalTo"
//email: true // <- redundant, not needed with "equalTo"
equalTo: "[name="entry[email]"]" // <- any valid jQuery selector
}
},
// other options, etc.
});
ДЕМОНСТРАЦИЯ: http://jsfiddle.net/JCY2E/
2 за отговор № 2
Погледнете равна на метод.
$("#myQuiz").validate({
...
rules: {
...
"entry[confirm_email]": {
equalTo: "entry[email]"
}
}
});