Настройки по умолчанию не работают. Команда «setdefaults» ничего не делает.JQuery Проверка параметров по умолчанию не работает
На моей странице может быть много разных форм и вещей. Но по какой-то причине он всегда игнорирует отображение: ни один «select box» «select # ffe». FFE - это выбранный флажок, поэтому он скрывает поле выбора и, таким образом, форма не проверяет его.
В разделе правил текстовые поля проверяют штраф, но поле выбора не проверяется.
Вот мой jquery.ready:
$.validator.setDefaults({ ignore: ":hidden:not(select)" });
var validator = $("select#ffe").closest("form").data('validator');
console.log("V1: ", validator.settings.ignore);
//validator.settings.ignore = ":hidden:not(select)";
console.log("V1: ", validator.settings.ignore);
$("select#ffe").closest("form").validate({
settings: {
ignore: ":hidden:not(select)"
},
rules: {
//....... skipping some rules.......
});
$("select#ffe").rules("add", { required: true }); // chosen invisible select box
console.log("V1: ", validator.settings.ignore);
Бревно консоль V1 не когда-либо изменится с "V1:: скрытый".
Если вы попытаетесь установить «validator.settings.ignore =»: hidden: not (select) »[прокомментировано, потому что это не работает], это даст вам другую ошибку при отправке формы, заявив, что не может прочитать« валидатор ». settings.rules ", потому что он не определен. Причудливая ошибка в jquery.validate.js, потому что он говорит, что validator.settings пуст, и это вызвано тем, что вы прямо игнорируете игнорирование.
Ошибка указывает на инструкцию if здесь в jquery.validate .js:
staticRules: function(element) {
var rules = {};
var validator = $.data(element.form, "validator");
if (validator.settings.rules) { // BROKEN BECAUSE VALIDATOR.SETTINGS IS EMPTY.
Я использую:
JQuery Validation Plugin 1.11.1
JQuery 1.11.1.js
Я не думаю, что это проблема. Я даже не могу изменить настройки по умолчанию jquery.validate. Я даже не могу изменить его вручную. Он по-прежнему говорит: «скрыто» для «игнорировать». Он никогда не меняется на выбранный. Так что это еще до проблемы, которую вы упомянули. ТАКЖЕ в вашей скрипке с помощью «select» vs select ничего не меняет. – Dexter
@Dexter, снова посмотрите на мой ответ. У вас есть другие проблемы, которые ломают ситуацию. См. Журнал консоли здесь: http://jsfiddle.net/01ww4nna/ – Sparky
Да, я имею в виду, что ваша скрипка, похоже, работает независимо. Но в моих избранных как-то мешает, может быть, из-за AJAX или выбранной магии. параметр validator.settings.ignore, похоже, не изменяется, чтобы не выбирать. – Dexter