Плагин jQuery validate: программная проверка полей в определенных разделах на странице - PullRequest
3 голосов
/ 25 мая 2011

Я пытаюсь использовать плагин проверки jQuery (отсюда -> http://bassistance.de/jquery-plugins/jquery-plugin-validation/), чтобы программно проверять поля в определенных разделах страницы на основе нажатия кнопки (не истинная отправка формы до конца последнего разделагде он будет проверять всю форму), прежде чем перейти к новому разделу.По сути, когда вы нажимаете кнопку в определенном разделе, поля в этом разделе необходимо проверить.Первый раздел страницы проверяется очень хорошо, но когда я перехожу ко второму разделу, он просто проходит без проверки.Как правильно это сделать?Я, по крайней мере, на правильном пути?
Вот пример того, о чем я говорю.Я могу добавить больше кода, если необходимо.

// Step 1 section validation
var validateStep1 = $("#form1").validate({
    errorClass: "warning",
    onkeyup: false,
    onblur: false,
    onfocusout: true,
    rules: {
        "field1": {
            required: true,
        },
        "field2": {
            required: true,
            minlength: 1
        },
        "field3": {
            required: true,
        }
    }
});

// Step 2 section validation
var validateStep2 = $("#form1").validate({
    errorClass: "warning",
    onkeyup: false,
    onblur: false,
    onfocusout: true,
    rules: {
        "field4": {
            required: true,
        },
        "field5": {
            required: true,

        },
        "field6": {
            required: true,
        }
    }
});

// click events for buttons to proceed
$("#button1").click( function() {
    if (validateStep1.form()) {
        // proceed
    }
});
$("#button2").click( function() {
    if (validateStep2.form()) {
        // proceed
    }
});

Заранее спасибо за вашу помощь!

1 Ответ

4 голосов
/ 08 ноября 2011

Полагаю, вы не можете по-разному использовать метод 'validate' в одной и той же форме два раза.

То, что вы могли бы использовать, - это параметр "зависимость" от объектов правил.Это позволяет «применять» правило только на основе результата «зависит».

На этой странице есть пример: http://rocketsquared.com/wiki/Plugins/Validation/validate#toptions (перейти к разделу документации «правила»)

$(".selector").validate({
    rules: {
        contact: {
            required: true,
            email: {
                depends: function(element) {
                    return $("#contactform_email:checked")
                }
            }
        }
    }
});

Надеюсь, это поможет, д.

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