Валидация полей - сравнение полей пароль
Подскажите где ошибка или в 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, время: 19:27. |