Поле выбора не проверяется, jqtransform проверяет jquery - PullRequest
1 голос
/ 17 марта 2012

Попытка получить валидацию jquery для работы с jqtransform. Я вижу проблему кажется, скрытое поле выбора. Это не добавляет класс ошибки к этому элементу поэтому он не продолжает добавлять сообщение об ошибке! Если я сделаю класс jqTransformHidden отобразить: блок; это работает, но тогда все мои входы и выборки видны, что я, конечно, не хочу.

Как видите, класс ошибок не добавлен.

<select class="required jqTransformHidden" name="currency">
              <option value="">Choose Currency</option>
              <option value="29">ANG - Netherlands Antilles, Guilders</option>
            </select>

Ответы [ 2 ]

2 голосов
/ 12 октября 2012

У меня была точно такая же проблема, и вот как я ее обошел.Я использую jquery validate для проверки всего, кроме полей выбора.Как только jquery validate считает мою форму действительной, я настроил другую пользовательскую проверку для полей выбора.Вы можете проверить это в selectHandler.

submitHandler: function(form){
    if(validateSelect()){
        form.submit();
    }
},

И затем вы можете создать функцию validateSelect для проверки ваших полей выбора.Для этого вы можете использовать jquery .val().

validateSelect = function(){
    if($('#my-select').val()==""){
        return false;
    }else{
        return true;
    }
}

ОБНОВЛЕНИЕ: Я нашел гораздо более простое решение!Вы можете заставить jQuery Validate проверять скрытые поля, превратив ignore: ":hidden", в ingnore: "", в скрипте проверки в строке 218. Таким образом, каждое преобразованное поле все равно будет проверено.Вы также можете установить это изменение в своем собственном скрипте вместо скрипта плагина, но я не уверен, как это сделать.

0 голосов
/ 13 мая 2014

Я знаю, что это старый вопрос, но для всех тех, кто борется с этим, вот мое решение:

В моем случае кажется, что использование ignore: "" не подходит для выбора входов,Вместо того, чтобы скрывать скрытые поля с помощью CSS display: none, я использовал position: absolute; top: -9999px; left: -9999px;

Самый простой способ - отредактировать файл jqTransform.css следующим образом:

.jqTransformHidden {
    //display: none;
    position: absolute;
    top: -9999px;
    left: -9999px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...