Desidero che il prezzemolo non convalidi un input se non è visibile. Ho un ampio sondaggio in più fasi che rivela nuove sezioni man mano che lo completi. Ogni sezione ha il proprio tag e all'interno di ogni modulo posso avere più sezioni che rivelano mentre le attraversi. Attualmente sto usando 1.x, e questo è come lo faccio ora:Parsley JS 2.x - disabilitazione della convalida per campi non visibili
$('#' + formID).parsley({
errors : {
container: function(element) {
var $container = element.parent().find('parsley-container');
if($container.length === 0)
{
if($(element).hasClass('text-hide') && !$(element).hasClass('not-select'))
{
$(element).prev().addClass('is-error');
}
else
{
$container = $('<div class="parsley-container"></div>').insertAfter(element);
}
}
return $container;
}
},
listeners: {
onFieldValidate: function(elem) {
if(!$(elem).is(':visible'))
{
return true;
}
return false;
}
}
E 'nella sezione di ascoltatori che a convalidare solo i campi che sono visibili. Come posso farlo in Parsley 2.x? Ho esaminato la documentazione e non riesco a trovare un modo equivalente per farlo. So che ci sono gruppi di validazione in 2.x, ma c'è un modo per farlo semplicemente come ho fatto in 1.x?
Ottima risposta, mi ha risparmiato un bel po 'di tempo. Penso che sia piuttosto elegante dato che stai lavorando su un plugin ... – ambe5960
Vorrei aggiungere che vuoi fare attenzione a usare questo, dato che vorrai cancellare le istanze di validazione se cambi la visibilità dei campi nascosti torna a visibile. – ambe5960
@Potherca: grazie per il tuo aggiornamento. Ho provato a testarlo ma stavo usando la versione 2.0.7 invece di 2.1.2 (cdnjs.com non ha l'ultima versione) ed è per questo che ho ripristinato la tua modifica. Dopo aver scavato più a fondo ho capito che era qualcosa a che fare con la versione 2.1 e ho ottimizzato un po 'la tua modifica. Grazie! –