Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2015, 20:26
Интересующийся
Отправить личное сообщение для avanesov89 Посмотреть профиль Найти все сообщения от avanesov89
 
Регистрация: 27.03.2014
Сообщений: 15

валидация полей через jquery validation.
Здравствуйте!
Пожалуйста, помогите разобраться с ситуацией.

На своем сайте в почтовых формах реализовал валидацию полей через специальный juery плагин jquery validation. В установке плагин оказался достаточно простым, проблем с ним не возникло.

Суть плагина заключается в том, что если поле не проходит проверку, то после поля появляется специальный label с классом .error , которому через css я могу задать любые стили.
Если же поле проходит валидацию, то label'у присваивается display:none, а input'у присваивается класс .valid .

Собственно вопрос заключается в следующем: как присвоить класс .valid не input'у, а еще одному label'у ?

заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2015, 21:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от avanesov89
Собственно вопрос заключается в следующем: как присвоить класс .valid не input'у, а еще одному label'у ?
а html можно увидеть того что хотите получить ?
и посмотрите это ... для ошибок ввести 111
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<style type="text/css">
.hide{
  display: none;
}
.hide.valid{
  display: inline-block;
}

</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
  <script>
$.validator.setDefaults({
    submitHandler: function() {
        alert("submitted!")
    }
});
$.validator.addMethod("test", function(value, element) {
    return !/(\d)\1{2,}/.test(value)
}, "Вот эта фигня не прокатит");
$(function() {
    $("#commentForm").validate({
        highlight: function(element, errorClass, validClass) {
            $(element).addClass(errorClass).removeClass(validClass);
            $(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
            var name = $(element).data("label");
            var lab = $('[for="' + name + '"]');
            lab.removeClass("valid")
        },
        unhighlight: function(element, errorClass, validClass) {
            $(element).removeClass(errorClass).addClass(validClass);
            $(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
            var name = $(element).data("label");
            var lab = $('[for="' + name + '"]');
            lab.addClass("valid")
        },
        rules: {
            field: {
                required: true,
                test: true
            },
            num: {
                required: true,
                test: true
            }
        }
    })
});
  </script>
</head>
<body>
<form class="cmxform" id="commentForm" method="get" action="">
    <fieldset>
        <p><input class="left" id="num" name="num" data-label="m16"><label for="m16" class="hide" ><input class="left" id="m16" name="m16" value="всё ок в 1 поле"></label></p>
        <p><input class="left" id="field" name="field" data-label="m24"><label for="m24" class="hide"><input class="left" id="m24" name="m24" value="всё ок во 2 поле"></label></p>
        <p><input class="submit" type="submit" value="Submit"/></p>
    </fieldset>
</form>


</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает валидация после загрузки доп. полей c помощью .load() HunterNomnad jQuery 0 16.09.2015 15:35
Валидация динамической формы используя Jquery Validate alex_fk jQuery 2 25.06.2014 16:11
Jquery. загрузка части документа через ajax-запрос InviS jQuery 8 01.03.2010 17:47
jQuery, jsTree - обновление дерева через ajax extremum.func jQuery 2 09.11.2009 14:48
подгрузка файлов через jQuery imdogma jQuery 4 05.05.2009 21:46