JQueryValidate - Обязательное поле - зависит не работает
С jQueryValidate, я пытаюсь сделать поле обязательным только в том случае, если другое конкретное поле пуст. Итак, после поиска в Интернете я сделал это:
rules: {
marque: {
required: {
depends: function() {
if (($('#add_marque').val() == "Ajouter une marque" && $('#marque').val() == -1) || ($('#add_marque').val() == "" && $('#marque').val() == -1)) {
return true;
}
else {
return false;
}
}
}
}
}
К сожалению, он не работает. Но если я это сделаю:
depends: function() {
if (($('#add_marque').val() == "Ajouter une marque" && $('#marque').val() == -1) || ($('#add_marque').val() == "" && $('#marque').val() == -1)) {
alert("Here!");
return true;
}
else {
return false;
}
}
Появится окно предупреждения. Итак, мой тест, похоже, работает.
Может ли кто-нибудь сказать мне, что я сделал не так?
Я использую jQuery 1.8.3 и qTip2 с jQueryValidate.
Большое вам спасибо!
Ответы
Ответ 1
Ваш синтаксис и использование плагина верны из того, что вы дали. Вам необходимо устранить неполадки, поэтому сначала попробуйте это
marque: {
required: true;
}
просто. Появляется ли сообщение об ошибке? Если да, попробуйте это
marque: {
required: {
depends: function () { return true; /* or false */ }
}
}
Ответ 2
Вы действительно сможете сделать это без опции depends
, просто заставьте функцию работать непосредственно с объектом required
:
rules: {
marque: {
required: function() {
if (($('#add_marque').val() == "Ajouter une marque" && (('#marque').val() == -1) || ($('#add_marque').val() == "" && $('#marque').val() == -1)) {
return true;
}
else {
return false;
}
}
}
}
Смотрите рабочий, более простой пример здесь: http://jsfiddle.net/ryleyb/3hqH6/1/
Ответ 3
required: {
depends:function (element) {
if ($('#inter').val() == '11' && $('#inter_rson').val() == '8') {
return true;
} else if ($('#inter').val() != '11' && $('#inter_rson').val() == '8') {
return true;
} else if ($('#inter').val() == '11' && $('#inter_rson').val() != '8') {
return true
} else {
return false;
}
}
}
зависит, работает как очарование, когда элемент зависит от другого значения, как говорит Август Миллер. Если вы не используете зависимости, вы можете застрять на экране с ошибкой проверки.