Добавление правил для валидации () с группировкой - PullRequest
3 голосов
/ 11 июня 2009

Форма находится по адресу: http://fuzzysiberians.com/app4.cfm?a=1

Я использую:

$('#sec_ssn3').rules("add", {
    groups: {
        ssn:"sec_ssn1 sec_ssn2 sec_ssn3"
    }, 
    required:true,
    number: true,
    messages: {
        required: " <span style='color:red;'>Please enter co-applicant's social security number</span>"
    }
});

Если флажок соискателя установлен, я запрашиваю номер социального страхования соискателя. Группировка несколько работает, но как мне избавиться от повторяющихся сообщений об ошибках? Последний даже не исчезает после ввода номера. SSN для основного заявителя прекрасно работает. В основной функции validate () я добавил:

errorPlacement: function(error, element) {
    if (element.attr("name") == "ssn1" || element.attr("name") == "ssn2" || element.attr("name") == "ssn3" )
        error.insertAfter("#ssn3");
    else if (element.attr("name") == "sec_ssn1" || element.attr("name") == "sec_ssn2" || element.attr("name") == "sec_ssn3" )
        error.insertAfter("#sec_ssn3");
    else 
        error.insertAfter(element); 
}

Почему-то это не нравится.

1 Ответ

5 голосов
/ 15 июня 2009

Глядя на документацию (http://docs.jquery.com/Plugins/Validation/validate#options), возможно, есть лучший способ настроить ваши правила.

Пример из приведенной выше ссылки:

$(".selector").validate({
   rules: {
     contact: {
       required: true,
       email: {
         depends: function(element) {
           return $("#contactform_email:checked")
         }
       }
     }
   }
});

Используя опцию «зависящий», вы можете настроить валидацию элемента, основываясь на установленном флажке coApp. Попробуйте переместить все правила в .validate () и добавить

depends: function(element){ return $("#coApp").is(":checked"); }

для всей проверки со-заявителя.

Дайте ему шанс и дайте мне знать.

Не забудьте также переоценить / проанализировать серверную часть!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...