Валидация полей - сравнение полей пароль
Подскажите где ошибка или в JS так вообще нельзя?
Вот выдержка кода
$().ready(function(){
$("#myForm").validate({
rules :
pass : "required",
rpass: {required :true, compare:('rpass')!=('pass'),},
},
messages :
pass : "Введите пароль",
rpass:{
required:"ПОВТОРИТЕ ПАРОЛЬ",
compare:"Вы ошиблись при повторе пароля",
},
});
});
|
Цитата:
$().ready(function(){
$("#myForm").validate({
rules : {
pass : "required",
rpass: {
required :true,
compare:('rpass')!=('pass')
}
},
messages : {
pass : "Введите пароль",
rpass:{
required:"ПОВТОРИТЕ ПАРОЛЬ",
compare:"Вы ошиблись при повторе пароля"
}
}
});
});
Вы похоже совсем не понимаете, что тут написано :) |
Спасибо за ответ. Я прошу извинить - у меня так и есть - делал вырезку из основного кода и пропустил скобку . А баг выглядит так-при проверке поля rpass заполнено оно или нет, правильно или нет - сообщение одно ПОВТОРИТЕ ПАРОЛЬ и оно изчезает при отправлении формы даже при разных паролях
|
Цитата:
Если при отправке формы обнаружены ошибки, то форма не отправляется, а высвечивается сообщение об ошибке в виде тэга с классом error. |
Цитата:
compare:('rpass')!=('pass') //всегда вернет true так как сравниваются две разные строки, а именно: 'rpass' и 'pass', а не значения переменных
|
Цитата:
|
Логика подсказывает что нужны переменные - но только такие варианты
var pass = document.forms['myForm'].elements['pass']; var rpass = document.forms['myForm'].elements['rpass']; или вот так
var pass = $('#myForm').val('pass');
var rpass = $('myForm').val('rpass');
тоже не корректны. Форма отправляется на сервер без проверки JS. Совсем заблудился!! |
Цитата:
var pass = $('#myForm')[0].pass.value;
|
| Часовой пояс GMT +3, время: 10:42. |