JQuery Validator зависит метод не определено - PullRequest
3 голосов
/ 27 января 2012

Firebug показывает мне следующее:

firebug screenshot

Из последующей инициализации валидатора:

$("#surveyForm").validate({
    errorPlacement: function(error, element) { 
    if ( element.is(":radio") ) {
        error.appendTo ( '#' + element.attr('name') + '_multiError' ); 
        } else if ( element.is(":checkbox") ) {
        error.appendTo ( '#' + element.attr('name') + '_multiError' );
        } else {
        error.appendTo( element.parent() );
        }
},
    rules: {
     ans_23: {
         depends: function(element) {
           return $("#ans_22:checked")
         }
 }
   },
   debug: true
});

Правило основано на втором примере в правилах здесь .

HTML-код, на который ссылаются, выглядит так

<td class='two_columns'>
<label>
<input type='radio' name='rad_22' id='ans_22' class='required' value='Yes'  />  Other
</label>
<input type='text' name='ans_23' id='ans_23' value='' class='' />
</td>

Кто-нибудь знает, почему метод зависимости не определен?

Сноска. Я также попытался сделать это с помощью метода добавления правил (см. Ниже). Эта форма проверяется и не выдает ошибок при вызове validate (), а ans_23 не получает «требуемый» класс ....

$("#surveyForm").rules("add", {
  ans_23: {
    required: "#ans_22:checked"
  }
});

1 Ответ

4 голосов
/ 27 января 2012

Я видел ответ от вас, чтобы преобразовать мой комментарий в ответ ... вот так:

$("#surveyForm").validate({
    errorPlacement: function(error, element) { 
    if ( element.is(":radio") ) {
        error.appendTo ( '#' + element.attr('name') + '_multiError' ); 
        } else if ( element.is(":checkbox") ) {
        error.appendTo ( '#' + element.attr('name') + '_multiError' );
        } else {
        error.appendTo( element.parent() );
        }
},
    rules: {
     ans_23: {
         required: {
           depends: function(element) {
             return $("#ans_22:checked");
           }
         }
 }
   },
   debug: true
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...