Raketenwilli: Javascript-Validierung: Eingaben nach Fehlern überprüfen und entsprechend reagieren

Beitrag lesen

problematische Seite

Wie meinen? Das Formular aus Objekten zusammenzusetzen?

Du hattest doch Deine Klasse bzw. Dein Objekt für die Validierung der Daten.

Da wird genau einmal der Regex, z.B. für den Benutzername fest gelegt.

Dann baust Du einen „getter“, welcher genau das HTML für das Formulfeld zurück gibt.

also etwa

public function getInput( $id=false ) {
  if( $id and ! empty( $this->inputs[$id] ) ) {
    return '<input'
           . ' id="'          . $this->inputs[$id]['HtmlId'] . '"'
           . ' name="'        . $this->inputs[$id]['HtmlId'] . '"'
           . ' pattern="'     . $this->inputs[$id]['pattern'] . '"'
           . ' placeholder="' . $this->inputs[$id]['placeholder'] . '"'
           . ' />';
   } else {
       trigger_error(
        'Versuch, ein Input zu erzeugen, welches nicht konfiguriert ist',
        E_USER_ERROR
       );
       return false;
   }

(In Wahrheit wird es komplizierter), z.b. wenn Du auch noch einen anderen Typ (type="number", dann wöglich auch min, max, ste) beachten willst.

Und wenn die Daten via POST wieder ankommen, dann erzeugst Du ein Objekt der gleichen Klasse mit gleichen Eigenschaften und steigst mittels einer anderen Methode in die Prüfung ein, ziehst Dir anhand der ID das Pattern und gibst true oder false zurück...

Vorteil: Du kannst alle erforderlichen oder von Dir als erforderlich angesehenen Limits zentral an einer Stelle notieren.

Vorteil: Du kannst bei einem Fehlschlag der Prüfung gleich das Forumular neu erzeugen.