Usando jQuery plugin de validación, el nombre de cómo utilizar de forma dinámica creada atribuye a reglamentos asignan?

StackOverflow https://stackoverflow.com/questions/2700295

Pregunta

Aquí está el problema:

El sistema de comercio electrónico que utiliza genera una partida para cada producto comprado. Se da entrada cantidad de partida el atributo de nombre "qty0", "qty1", "qty2", y así sucesivamente como los artículos de línea van abajo de la página.

Tengo que comprobar estas entradas qtyX de validez, pero no sé cómo pasar el atributo nombre como un atributo relativo de otro atributo como una clase, o pasar una expresión regular para validar el plugin para encontrar toda la cantidad campos.

Este es el código de validación:

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

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

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

});

He aquí una muestra de la entrada que se genera:

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

Gracias !!

¿Fue útil?

Solución

Se podría generar las reglas y los mensajes de forma dinámica:

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");
    }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top