Проверка jQuery с элементами управления во время выполнения - PullRequest
0 голосов
/ 16 октября 2010

У меня есть два указателя даты, где пользователь делает выбор.Затем для каждого дня в выбранном интервале я добавляю текстовое поле ввода.Я изо всех сил пытаюсь заставить плагин jQuery Validate работать для сгенерированных текстовых полей.Кажется, будто проверяется только первое.

Когда страница загружена, я добавляю собственный метод проверки и настраиваю форму для проверки:

$(document).ready(function() {
$.validator.addMethod("validHoursInDay", function(value, element) {
    if (this.optional(element)) {
        return this.optional(element);
    }
    var regex = /\d((\.|,)\d)?/;
    var isDecimalNumber = regex.test(value);
    if (isDecimalNumber) {
        var parsedNumber = parseFloat(value.replace(",", "."))
        return parsedNumber >= 0 && parsedNumber <= 24;
    }
    else {
        return false;
    }
});
 $("#aspnetForm").validate({
    debug: true,
    onfocusout: false,
    submitHandler: function(form) {
        submitabscence();
    },
    invalidHandler: function(form, validator) {
        var errors = validator.numberOfInvalids();
        if (errors) {
            var message = 'Got some erros for you';
            $.each(validator.errorList, function(index, value) {
                value.element.style.borderColor = 'red';
            });
            ShowErrorBox(message);
        }
    }

});
});

После создания текстовых полей,Я выбираю их и добавляю правила

$("#week-overview :input").each(function() {

    $(this).rules("add", {
        validHoursInDay : true,
        required: true,
        messages: {
            required: "Fill in a number",
            validHoursInDay: "Valid Hours in Day"
        }
    });
});

Только первое текстовое поле кажется проверенным.

1 Ответ

0 голосов
/ 23 октября 2010

Плагину jQuery validate, кажется, нужно уникальное имя для каждого проверенного ввода. При этом проверка работает как надо.

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