Ich möchte, dass Parsley eine Eingabe nicht validiert, wenn sie nicht sichtbar ist. Ich habe eine große mehrstufige Umfrage, bei der neue Abschnitte angezeigt werden. Jeder Abschnitt hat ein eigenes Tag, und innerhalb jedes Formulars kann ich mehrere Abschnitte haben, die sich beim Durchgehen offenbaren. Ich bin derzeit 1.x, und das ist, wie ich es jetzt tun:Parsley JS 2.x - Deaktivieren der Validierung für Felder, die nicht sichtbar sind
$('#' + 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;
}
}
Es ist im Hörer Abschnitt ist, dass ich nur die Felder validieren, die sichtbar sind. Wie kann ich dies in Petersilie 2.x tun? Ich habe die Dokumentation durchgelesen und finde keine entsprechende Vorgehensweise. Ich weiß, dass es in 2.x Validierungsgruppen gibt, aber gibt es eine Möglichkeit, es einfach so zu machen, wie ich es in 1.x getan habe?
Große Antwort, rettete mir eine Menge Zeit. Ich denke, es ist ziemlich elegant, wenn Sie an einem Plugin arbeiten ... – ambe5960
Ich würde hinzufügen, dass Sie vorsichtig damit sein wollen, da Sie die Validierungsinstanzen löschen wollen, wenn Sie die Sichtbarkeit der versteckten Felder umschalten zurück zu sichtbar. – ambe5960
@Potherca: danke für dein Update. Ich habe versucht, es zu testen, aber ich habe Version 2.0.7 anstelle von 2.1.2 (cdnjs.com hat nicht die neueste Version) und deshalb habe ich Ihre Bearbeitung zurückgesetzt. Nachdem ich tiefer geforscht habe, wurde mir klar, dass es etwas mit Version 2.1 zu tun hat und ich habe deinen Schnitt ein wenig optimiert. Vielen Dank! –