it-swarm.com.ru

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

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

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

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

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

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

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

Вы можете использовать опцию ignore, например:

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

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

25
Emre Erkan

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

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

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

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

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

14
CMcClymont

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

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