Design von Form Validierung

Zenti

Erfahrenes Mitglied
Hallo zusammen,

ich habe folgendes Problem.
Ich bekomme bei meiner Error Variable (JAVA) "$hasError" entweder den Wert "true" oder "false" ausgegeben.
Wenn die Validierung falsch war ist "$hasError = true" wenn die validierung korrekt war ist der Wert "false".

Mein Problem ist das der Wert von "$hasError" bereits vor der Validierung auf "false" ist.
(Es wird erst validiert wenn man auf submit klickt)
Daran kann ich auch nichts drehen,.. Bekomme die Daten so geliefert.

Somit würde das ganze so aussehen:
Code:
class="c-text #if($hasError) c-error #else c-true #end
(Es funktioniert alles super nach der Validierung)

Mein Problem ist nur das wenn man auf die Seite kommt mit den Formularfeldern wird bereits jedes Feld mit der Klasse "c-true"
ausgegeben und sieht somit für den Endkunden Valide aus.

Nun zu meiner Frage:
Gibt es in JAVASCRIPT eine Möglichkeit allen Feldern eine Klasse zu entziehen damit das Formularfeld als nicht valide beim ONLOAD dargestellt wird?

z.B.

Code:
$('input').removeClass('c-true')

Nach dem absenden des Formular wird aber logischerweise beim reload wieder
Code:
$('input').removeClass('c-true')
ausgeführt und die Validierung greift nicht bzw. die Darstellung weil die Klasse wieder entfernt wird,..

Oder habt Ihr eine saubere Lösung parat?

Ich hoffe ich habe es einigermaßen verständlich erklärt und würde mich über Tips und Hilfe freuen.

Herzlichen Dank.

Grüße aus München,
Michael
 
Kannst du es nicht so lösen das die Variable nur in Verbindung mit dem Absenden geprüft wird?

Zum Beispiel das du beim Senden noch eine weitere Variable mit True versiehst und nur wenn diese Variable den Wert True hat wird die Variable $hasError auf ihren Inhalt geprüft.
 
Wo kannst du dann überhaupt in den vorhandenen Code eingreifen? Kannst du wenigstens testen ob das Formular gesendet wurde oder ob es "neu" geladen wurde?

Wenn du diese Möglichkeit hast, dann ändere beim ersten Laden der Seite den Wert von $hasError auf True.
 

Neue Beiträge

Zurück