Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2012, 15:21
Аватар для Isaac
Кандидат Javascript-наук
Отправить личное сообщение для Isaac Посмотреть профиль Найти все сообщения от Isaac
 
Регистрация: 03.08.2011
Сообщений: 106

Как улучшить регистрационную форму?
Здравствуйте.
Подскажите пожалуйста.
Я написао форму проверку формы регистрации, вот код:
$(this).blur(function () {
       var _value = $(this).val(),
           reg_loginName = new RegExp(/^[a-zA-Z0-9_-]{3,16}$/).test(_value); // в данном случае выражения для проверки логина, но на форме так же есть почта, пароль, имя , фамиля, то есть для каждого поля своя переменная
            .........
       switch($(this).attr("id"))
       {
           case "id_username": // проверка для логина, но так же будет отдельный case для каждого поля(почта, пароль, имя, фамилия...)
               if((!reg_loginName) || (_value.length < 6)) // если не соответствует выражению и пользователь ввел меньше 6 символов, то красим рамку в красный цвет
               {
                   $(this).parent().parent().attr("class", "control-group error");

                   if(!(reg_loginName) && !($(".help-login-reg").length)) // если не соотсветсвует выражению, то выводим сообщение об ошибки, предворительно проверив, что данное сообщение еще не создано, чтоб не создавать одинаковых сообщений
                       $(this).parent().children(".error-list").append("<li class='help-inline help-login-reg'>Только символы латинского алфавита, цифры, дефис и подчеркивание (a–z, 0-9, -, _).</li>");
                   if((_value.length < 6) && !($(".help-login-length").length)) // если меньше 6 символо, то выводим сообщение об ошибке
                       $(this).parent().children(".error-list").append("<li class='help-inline help-login-length'>В логине должно быть не менее 6 символов.</li>");
               }
               if((reg_loginName) && (_value.length >= 6)) // если пользователь верно заполнил форму, то красим рамку в зеленый цвет
               {
                   $(this).parent().parent().removeAttr("class");
                   $(this).parent().parent().attr("class", "control-group success");
               }
               if(reg_loginName) // удаляем сообщение об ошибках, если они выводились
                   $(this).next().children(".help-login-reg").remove();
               if(_value.length >= 6) // удаляем сообщение об ошибках, если они выводились
                   $(this).next().children(".help-login-length").remove();
           break;
       }
   });


Теперь вопрос: как улучшить данный скрипт, как можно написать его в виде классов в JQuery? или более грамотно? Как вообще нужно писать подобные вещи на jQuery? подскажите пожалуйста!
p.s. javascript - пока не интересует, так как задача в том, что нужно научится делать подобные вещи именно с помоцью библиотеки jquery.
Спасибо за помощь и время!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как научиться думать на javascript ? samuel Оффтопик 31 03.09.2013 01:10
есть ли в js понятие частоты кадров, наподобие как во флэше? andrew_F Общие вопросы Javascript 8 01.05.2012 19:25
Как организовать RichEdit arma Элементы интерфейса 2 18.02.2010 13:57
Как правильно добавить форму используя jQuery Casufi jQuery 1 15.02.2010 22:14
О наследовании событий, или как корректно его отменить. JCShen Events/DOM/Window 8 08.02.2010 23:00