Требуется проверка (плагин bassistance) (обратный вызов зависимостей) - PullRequest
2 голосов
/ 27 февраля 2010

В моей регистрационной форме клиента у меня есть следующие правила

// Define the div containing validation messages
var container = $('#clientErrorWrapper');
// Start validation routine 
// validate the form when it is submitted
var validator = $("#frmEdit").submit(function() {
    // update underlying textarea before submit validation
    tinyMCE.triggerSave();
    }).validate({
    errorContainer: container,
    errorLabelContainer: $("ul", container),
    wrapper: 'li',
    // start rules (add new rules as necessary)
        rules: {
            firstname: {
                required: true
            },
            lastname: {
                required: true
            },
            email: {
                required: true
            },
            address1: {
                required: true
            },
            city: {
                required: true
            },
            state_province: {
                required: function(element) {
                    return $("#country").val() == 'US';
                  }
            },
            postcode: {
                required: true
            },
            country: {
                required: true
            }
    // finish rules
    }

Я хотел бы расширить правила state_province, чтобы это поле было обязательным, если страна также равна CA или AU, как мне этого добиться, пожалуйста.

1 Ответ

4 голосов
/ 27 февраля 2010

Вы можете сделать:

        state_province: {
            required: function(element) {
                var c = $("#country").val();
                return c=='US' || c=='CA' || c=='AU';
              }
        }

Нет необходимости усложнять, если ваш список не станет немного длиннее.

Если, однако, список увеличивается, вы можете использовать .inArray () jQuery *) :

        state_province: {
            required: function(element) {
                return $.inArray($("#country").val(), ['US','CA','AU']) > -1;
              }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...