Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2016, 17:05   #41
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Здравствуйте! Это опять я.
Когда ввожу буквы, в консоль выводится вот такая ошибка:

Uncaught Error: Syntax error, unrecognized expression: label[@for='reg_login'](…)
Изображения
Тип файла: jpg er.jpg (123.3 Кб, 137 просмотров)
Женя32 вне форума Ответить с цитированием
Старый 08.12.2016, 19:31   #42
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Когда ввожу буквы, в консоль выводится вот такая ошибка:
А где ваш код?!
по фоткам не видно!

и, да, внимательность, похоже, не ваш конёк!


Выделил идентификатор, который, скорее всего у Вас неверно написан.
Сверяйте!
Код:
// пример addMethod можно посмотреть, например, http://www.technicalkeeda.com/jquery/how-to-define-custom-jquery-validation-method-example
	$.validator.addMethod('reg_login_check', function (value) {
     		var result = true;
		var iChars = "!@#$%^&*()+=-[]\\\';,./{}|:<>?"+"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"+" ";
		for (var i = 0; i < value.length; i++) {
			if (iChars.indexOf(value.charAt(i)) != -1) {
				return false;
	          }
		}
		return result;
	}, '');

	$('#form_reg').validate({

                //Правила для проверки
		rules: {
                    "reg_login": {
			required: true,
			minlength: 5,
			maxlength: 15,
			reg_login_check: true,
			remote: {url: "reg/check_login.php", type:"post" }
		}
		},

                //Тексты предупреждений
                messages: {

                    "reg_login": {
                        required: "Укажите Логин!",
                        minlength: "От 5 до 15 символов!",
                        maxlength: "От 6 до 15 символов!",
			reg_login_check: "плохие символы",
                        remote: "Логин занят!"
                      }
             },
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.12.2016, 12:51   #43
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
А где ваш код?!
по фоткам не видно!

и, да, внимательность, похоже, не ваш конёк!


Выделил идентификатор, который, скорее всего у Вас неверно написан.
Сверяйте!
...
Сверил id, все верно!...
Ошибка была из-за этого символа - @ вот в это строке:

Код:
 error.appendTo( element.parent().find("label[@for='" + er + "']").find("span") );
Сейчас, когда что-то ввожу в input, в консоль вот такое сообщения вижу:
Navigated to https://localhost/validate/form_validate.php

Но, когда ввожу кириллицу, предупреждение о том, что нельзя вводить кириллицу, как не было, так и нет.

PHP код:
<script type="text/javascript">
$(
document).ready(function(){
     $.
validator.addMethod('reg_login_check', function (value) {
             var 
result true;
        var 
iChars "!#$%^&*()+=-[]\\\';,./{}|:<>?"+"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"+" ";
        for (var 
0value.lengthi++) {
            if (
iChars.indexOf(value.charAt(i)) != -1) {
                return 
false;
              }
        }
        return 
result;
    }, 
'');

    $(
'#form_reg').validate({

                
//Правила для проверки
        
rules: {
                    
"reg_login": {
            
requiredtrue,
            
minlength5,
            
maxlength15,
            
reg_login_checktrue,
            
remote: {url"reg/check_login.php"type:"post" }
        }
        },
    
messages: {
      
name: {
        
required"Введите имя пользователя",
        
reg_login_check"Символы !#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены. Также нельзя использовать русские буквы",
        
minlength"Минимум 4 символа ",
        
maxlength"Максимум 25 символов ",
        
remote"Такое имя уже существует "
      
}
    },
    
errorPlacement: function(errorelement) {
      var 
er element.attr("name");
      
error.appendToelement.parent().find("label[for='" er "']").find("span") );
    },
    
success: function(label) {
      
label.html("&nbsp;").addClass("checked");
    }
  });
});
 
</script> 

Последний раз редактировалось Женя32; 09.12.2016 в 12:54.
Женя32 вне форума Ответить с цитированием
Старый 09.12.2016, 13:39   #44
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
error.appendTo( element.parent().find("label[@for='" + er + "']").find("span") );
а у Вас в коде формы есть
Код:
<label for="reg_login">......
?

сюда целиком выложите весь файлик form_validate.php

Последний раз редактировалось Serge_Bliznykov; 09.12.2016 в 13:48.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.12.2016, 14:01   #45
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а у Вас в коде формы есть
Код:
<label for="reg_login">......
?

сюда целиком выложите весь файлик form_validate.php
Вот...:
Вложения
Тип файла: zip validate.zip (57.4 Кб, 8 просмотров)
Женя32 вне форума Ответить с цитированием
Старый 09.12.2016, 16:59   #46
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Вы не задаёте сообщения для нужного поля!

сравните.
у Вас:
Цитата:
Сообщение от Женя32 Посмотреть сообщение
Код:
messages: { 
       name: { 
              required:*"Введите*имя*пользователя",
а должно быть:
Код:
                //Тексты предупреждений
                messages: {
                    "reg_login": {
                        required: "Укажите Логин!",
Вложения
Тип файла: rar form_validate3.rar (57.1 Кб, 8 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.12.2016, 17:23   #47
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вы не задаёте сообщения для нужного поля!

сравните.
у Вас:


а должно быть:
Код:
                //Тексты предупреждений
                messages: {
                    "reg_login": {
                        required: "Укажите Логин!",
Все!
БОЛЬШОЕ, БОЛЬШОЕ, БОЛЬШОЕ СПАСИБО!!!
Все работает!!!
Женя32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery.validate выводит сообщения ни в том месте Женя32 JavaScript, Ajax 4 24.11.2016 14:28
jquery.validate реагирует только на одно поле Женя32 JavaScript, Ajax 2 24.11.2016 11:50
jquery validate ts-alan JavaScript, Ajax 0 11.12.2015 12:57
Validate WizarD.89 C# (си шарп) 1 11.04.2013 10:15
Кирилица в C++ ROD Помощь студентам 2 06.12.2008 14:50