Подтвердить что ты не робот

Плагин jQuery Validation - Проверка скрытых входов и не видно?

Как я могу проверить скрытые входы и не видимые текстовые входы с плагином проверки правильности jQuery? Проблема в том, что я использую плагин auto-suggest, который генерирует скрытый ввод для выбранных элементов:

<input id="hiddenInput" type="hidden" name="something" value="1" />

У меня есть 2 входа вроде этого (оба из них разрешают только 1 элемент), которые я хочу проверить и отобразить ошибку в родительском <td>. Это то, что я получил до сих пор, но он не отображает ошибку или не отправляет форму, если значение действительно является числом.

$("#form1").validate({
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
        })
4b9b3361

Ответ 1

Чтобы разрешить проверку скрытых элементов, переопределите игнорирование и установите его в пустую строку:

$("#form1").validate({
    ignore: "",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});

Ответ 2

Вы можете использовать опцию ignore следующим образом:

$("#form1").validate({
    ignore: "input[type='text']:hidden",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});

Значение по умолчанию ignore - :hidden, которое игнорирует все скрытые поля и невидимые поля (display: none и т.д.)

Ответ 3

Если другие ответы не работают на вас, попробуйте это вместо этого. Он удаляет все игнорирования для формы, поэтому он будет проверять все, включая скрытые поля:

$.data($('form')[0], 'validator').settings.ignore = "";

Чтобы восстановить параметры, чтобы игнорировать скрытые поля, используйте что-то вроде этого:

$.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden";

Вы также можете использовать приведенный выше код для считывания текущего значения.

Ответ 4

Другим способом проверки скрытых входов является следующее:

$("#form1").validate({
        ignore: "not:hidden",
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
});