Utilizzando plugin jQuery validatore, nome come utilizzare creati dinamicamente attribuisce alle leggi assegnare?

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

Domanda

Ecco il problema:

Il sistema di e-commerce che utilizza genera una riga per ogni prodotto acquistato. Dà ingresso la quantità di voce l'attributo name "qty0", "qty1", "qty2", e così via, come le voci vanno in basso nella pagina.

ho bisogno di controllare questi ingressi qtyX per la validità, ma non so come passare sia l'attributo name come un attributo parente di un altro attributo come una classe, o di passare una regex al plugin Convalida per trovare tutte le quantità campi.

Ecco il codice di convalida:

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

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

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

});

Ecco un esempio di input che viene generato:

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

Grazie !!

È stato utile?

Soluzione

Si potrebbe generare le regole ed i messaggi in modo dinamico:

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");
    }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top