JQuery Validate Plugin: сделать ввод обязательным в зависимости от значения переключателя - PullRequest
1 голос
/ 26 января 2010

У меня настоящая головная боль при попытке запустить плагин jQuery Validate.

У меня есть форма, первый вопрос, который просит пользователя выбрать опцию из радиогруппы. Это показывает дальнейшие вопросы ниже, в зависимости от их выбора.

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

Форму можно увидеть здесь: http://planner.adamturtle.com/index.php?id=cab11f902671b3c2d6&page=2

Весь код JavaScript встроен в страницу.

Спасибо за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 26 января 2010

Чтобы собрать видимые элементы:

$currentInputs = $("input:visible");

Что бы я сделал для удобства чтения, назначьте все «активные» входные данные для проверки с помощью класса, подобного «validateMe»:

$currentInputs = $("input.validateMe");
$result = $currentInputs.validate();
0 голосов
/ 26 января 2010

Если требуются все вопросы, несмотря ни на что, вы можете просто проверить все поля.

Но это работало бы, только если вы использовали какой-то ajax-вызов для заполнения форм. Таким образом, он не пытается проверить вопросы, которые не отображаются.

Пример: есть строка, содержащая HTML-код, который вы хотите встроить.

var formString1 = '<input type="text" name="thisInput" />';
    formString1 = '<input type="radio" name="anotherInput" />;
    ...

, а затем вставьте каждую строку формы в данные формы.

OR

отправить запрос на проверку форм с помощью class="required". Который вы можете добавить в зависимости от того, какая радио-кнопка нажата.

JQuery:

validate($(.required));

function validate(elements){
   $.ajax( //send request to validate 'elements );
}

Это немного грязно, не использует плагин проверки формы, и ни один из них не протестирован, но он может дать вам некоторое направление.

EDIT: Есть ли у вас установленная система для проверки бэкэнда PHP?

0 голосов
/ 26 января 2010

Плагин jQuery validate позволяет добавлять собственные методы проверки, и вы можете попробовать их. Внутри этого метода вы можете проверить, когда значение радиоблока и проверить другие значения поля на основе этой информации.

Метод добавления пользовательской проверки называется addMethod (ссылка на документацию здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...