Salve,
in una pagina php genero degli input con nome e cognome in base ad una selezione in una pagina precedente:
<input name="nome[<?=$id?>][<?=$numero?>][]>
<input name="cognome[] >
<input name="nome[<?=$id?>][<?=$numero?>][]>
<input name="cognome[] >
Con jquery Validate cerco di validare il form cosi:
codice HTML:
xxy('#booking').validate({
rules: {
'nome[][][]': {
required: true
},
'cognome[]': {
required: true
}
},
messages: {
'nome[][][]': {
required: '<p style="color:red;">Inserisci il tuo nome</p>'
},
'cognome[]': {
required: '<p style="color:red;">Inserisci il tuo cognome</p>'
}
}
});
In questo modo mi salta la validazione del nome quindi va direttamente su cognome e mi valida solo il primo input. Qualche idea?
EDIT: Ho trovato una guida che mi permette questo, mi fa modificare il file jquery.validation.js in questo modo:
codice HTML:
checkForm: function() {
this.prepareForm();f
or ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) {
if (this.findByName( elements[i].name ).length != undefined && this.findByName( elements[i].name ).length > 1) {
for (var cnt = 0; cnt < this.findByName( elements[i].name ).length; cnt++) {
this.check( this.findByName( elements[i].name )[cnt] );
}
} else {
this.check( elements[i] );
}
}
return this.valid();
}
Il nome continua a saltarlo, penso perché all'interno delle parentesi quadre ci sia un valore, invece il cognome li controlla tutti e due, l'unico problema è che se riempio il primo campo dovrebbe poi fare il focus sul secondo ma non lo fa.
Ok risolto la parte del cognome, ma il nome come faccio a validarlo? visto che è un array multidimensionale? nome[<?=$id?>][<?=$numero?>][]