jQuery Validate - Требовать хотя бы одного из группы плюс дополнительные элементы - PullRequest
0 голосов
/ 30 мая 2010

Я пытаюсь использовать 'jQuery Validate' в форме, которая требует адрес электронной почты плюс , либо все элементы адреса доставки завершены, либо не заполнены вообще.

Используя пример, предоставленный решением этого вопроса: jQuery Validate - «Либо пропустите эти поля, либо заполните хотя бы X из них» , я смог успешно решить вопрос проверки адреса группа.

Однако проблема в том, что логика проверки поля адреса электронной почты не работает. После отладки сценариев Validate «проверяющий» код проверки запускается вызовом fields.data (Being_validated, true) .valid (); в связанном примере приводит к сбросу всех ранее подтвержденных ошибок (т.е. ошибка проверки электронной почты очищается).

Я изменил некоторые существующие образцы, первый из которых удаляет оскорбительную строку, а второй вместе с ней.

Проверка электронной почты работает

Ошибка проверки электронной почты

Какие-либо советы или предложения о том, как правильно решить эту проблему или обойти ошибку?

1 Ответ

1 голос
/ 30 мая 2010

В вашем случае я бы изменил несколько вещей вокруг:

1) установить jQuery.validate({ onsubmit: false }), потому что вы не хотите, чтобы проверка запускалась по умолчанию, вы хотите контролировать время запуска проверки.

2) Проверка соответствия на ваших условиях при отправке формы:

$("form").submit(function() {
    $("emailField").validate();
    if ($("emailField").valid())
    {
        $("form").validate();
        return $("form").valid();
    }
    return $("emailField").valid();
});

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

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