Здравствуйте.
Подскажите пожалуйста.
Я написао форму проверку формы регистрации, вот код:
$(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.
Спасибо за помощь и время!