Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2010, 11:54
Новичок на форуме
Отправить личное сообщение для olva Посмотреть профиль Найти все сообщения от olva
 
Регистрация: 01.02.2010
Сообщений: 4

Валидация полей - сравнение полей пароль
Подскажите где ошибка или в JS так вообще нельзя?
Вот выдержка кода
$().ready(function(){
	           $("#myForm").validate({
		           rules : 
			          pass : "required",
			          rpass: {required :true, compare:('rpass')!=('pass'),},
		                  },
		           messages : 
				   pass : "Введите пароль",
				   rpass:{
					required:"ПОВТОРИТЕ ПАРОЛЬ",
					compare:"Вы ошиблись при повторе пароля",
							},
					
	                              });
});
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2010, 13:32
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от olva Посмотреть сообщение
Подскажите где ошибка или в 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:"Вы ошиблись при повторе пароля" 
           }
       }
  });
});

Вы похоже совсем не понимаете, что тут написано

Последний раз редактировалось Gozar, 01.02.2010 в 13:45.
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2010, 13:48
Новичок на форуме
Отправить личное сообщение для olva Посмотреть профиль Найти все сообщения от olva
 
Регистрация: 01.02.2010
Сообщений: 4

Спасибо за ответ. Я прошу извинить - у меня так и есть - делал вырезку из основного кода и пропустил скобку . А баг выглядит так-при проверке поля rpass заполнено оно или нет, правильно или нет - сообщение одно ПОВТОРИТЕ ПАРОЛЬ и оно изчезает при отправлении формы даже при разных паролях

Последний раз редактировалось olva, 01.02.2010 в 14:35. Причина: дополнение
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2010, 14:27
Новичок на форуме
Отправить личное сообщение для olva Посмотреть профиль Найти все сообщения от olva
 
Регистрация: 01.02.2010
Сообщений: 4

Сообщение от Gozar
Вы похоже совсем не понимаете, что тут написано
Селектор $(”#myForm”) получает указатель на форму, а функция validate() устанавливает правила для полей в соответствии с полученными данными. Объект rules содержит имя поля и список правил. Если правил несколько, то они объединены в отдельный объект. Так, для поля pass просто указано правило “required”, т.е. обязательное поле, в то время как для поля rpass указан объект содержащий два правила – required и сравнение двух полей - неравность rpass и pass. Структура объекта messages такая же, как и для rules, за исключением того, что вместо атрибутов правил указаны сообщения об ошибках.

Если при отправке формы обнаружены ошибки, то форма не отправляется, а высвечивается сообщение об ошибке в виде тэга с классом error.
Ответить с цитированием
  #5 (permalink)  
Старый 01.02.2010, 17:08
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от olva Посмотреть сообщение
А баг выглядит так-при проверке поля rpass заполнено оно или нет, правильно или нет - сообщение одно ПОВТОРИТЕ ПАРОЛЬ и оно изчезает при отправлении формы даже при разных паролях
Ну я не знаток jquery, юзаю только если что-нибудь в нем мне понадобится, поэтому могу и ошибаться.
compare:('rpass')!=('pass') //всегда вернет true так как сравниваются две разные строки, а именно: 'rpass' и 'pass', а не значения переменных
Ответить с цитированием
  #6 (permalink)  
Старый 01.02.2010, 19:31
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Gozar
compare:('rpass')!=('pass')
тут видимо надо переменные подставлять со значениями или я тоже чегото не понял и на это обратил внимание но, подумал что "так задумано"
Ответить с цитированием
  #7 (permalink)  
Старый 01.02.2010, 19:45
Новичок на форуме
Отправить личное сообщение для olva Посмотреть профиль Найти все сообщения от olva
 
Регистрация: 01.02.2010
Сообщений: 4

Логика подсказывает что нужны переменные - но только такие варианты
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.
Совсем заблудился!!
Ответить с цитированием
  #8 (permalink)  
Старый 01.02.2010, 20:54
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от olva Посмотреть сообщение
Логика подсказывает что нужны переменные - но только такие варианты
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;
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка полей формы!!!! DENAT Общие вопросы Javascript 0 05.06.2008 22:14