Используя плагин валидатора jQuery, как использовать динамически создаваемые атрибуты имен для назначения правил? - PullRequest
1 голос
/ 23 апреля 2010

Вот проблема:

Используемая нами система электронной торговли создает позицию для каждого приобретенного продукта. Он дает количеству введенных позиций элемент атрибута name "qty0", "qty1", "qty2" и т. Д., Когда позиции идут вниз по странице.

Мне нужно проверить правильность этих входных данных qtyX, но я не знаю, как передать атрибут name как относительный атрибут другого атрибута, такого как класс, или передать регулярное выражение в подключаемый модуль validate, чтобы найти все количество поля.

Вот проверочный код:

var validator = $("#formName").validate({
    rules: {
        qty: { customMethod: true}// qty
        },//rules

    messages: {
        qty: {customMethod: "NOPE"}
    },

    errorPlacement: function(error, element) {
            error.appendTo("#itemQuantityError");
    },

});

Вот пример сгенерированного ввода:

<td ><input name="qty1" value="6" size="5"></td>

Спасибо !!

1 Ответ

5 голосов
/ 23 апреля 2010

Вы можете генерировать правила и сообщения динамически:

var rules = new Object();
var messages = new Object();
$('input[name^=qty]:text').each(function() {
    rules[this.name] = { required: true };
    messages[this.name] = { required: 'This field is required' };
});

var validator = $("#formName").validate({
    rules: rules,
    messages: messages,
    errorPlacement: function(error, element) {
        error.appendTo("#itemQuantityError");
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...