Formularvalidierung für Bestätigungsfelder umsetzen

Über den Formulareditor setzen Sie schnell und einfach Bestätigungsfelder für z.B. E-Mail Adressangaben um.

Über den Formulareditor können Sie schnell und einfach Bestätigungsfelder umsetzen, um z.B. eine anzugebende E-Mail Adresse im Formular auf korrekte Angabe überprüfen zu lassen.

Nachfolgend werden diverse Möglichkeiten aufgezeigt.

BASE (Mobile First)
Umsetzung in älteren Projekten
BASE (Mobile First)

Im aktuellen Formular Weblic® der BASE (Mobile First) unterstützen Formularfelder in Verbindung mit der aktuellen ui.js und der aktuellen Software den Validator isEqualInput(FELDNAME), um zu prüfen, ob der Wert mit dem eines anderen Feldes übereinstimmt.

Ein Seitenbesucher muß somit in beide Felder die identische E-Mail Adresse eingeben, damit er das Formular abschicken kann. Ein Tippfehler bei der Eingabe der E-Mail Adresse ist somit so gut wie ausgeschlossen.

Eine Übereinstimmung von Formularfeldern können Sie natürlich auch für andere Einsatzzwecke ähnlich umsetzen.

Umsetzung in älteren Projekten

Über den Formulareditor ((z.B. in BASE Classic Projekten) können Sie schnell und einfach Bestätigungsfelder umsetzen, um z.B. eine anzugebende E-Mail Adresse im Formular auf korrekte Angabe überprüfen zu lassen.

Hierzu legen Sie zum bestehenden Eingabefeld E-Mail (Feldname: email) ein zweites Eingabefeld mit dem Label E-Mail (Bestätigung) und Feldname emailconfirm an und validieren beide Felder auf übereinstimmende Eingabe.

Im Formulareditor und der Ausgabe des Formulares sieht das wie folgt aus:

Formulareditor: E-Mail und E-Mail (Bestätigung)
Formulareditor: E-Mail und E-Mail (Bestätigung)
Formulareditor: Validierung beider E-Mail Felder
Formulareditor: Validierung beider E-Mail Felder
Formular nach Absenden mit Validator-Ausgabe
Formular nach Absenden mit Validator-Ausgabe

Das oben aufgeführte Quelltextbeispiel im Screen finden Sie nachfolgend nochmals als Auszug zum Validierungsteil im Quelltextbeispiel zum Kopieren:

Auszug aus dem Formulareditor, Box "Nach dem Absenden auszuführendes Skript"

...
  
$validation true;
  if(
$mailData['email'] != $mailData['emailconfirm']){
    
$_SESSION["wFormData"][$this->id]["elements"]["emailconfirm"]["isInvalid"] = true;
    
$_SESSION["wFormData"][$this->id]["elements"]["emailconfirm"]["errorMessage"] = $this->elements["emailconfirm"]->validators[0]["errorMessage"];
    
$_SESSION["wFormData"][$this->id]["isValid"] = false;
    
$validation false;
  }

  if(!
$validation){
    
$redirectURL wURL::setParameter($this->url'wFormStatus''failed');
    
wOutput::loadWithoutCache($redirectURL);
    
wResponse::redirect($redirectURL.'#wFormErrorMessages');
  }
...

Ein Seitenbesucher muß somit in beide Felder die identische E-Mail Adresse eingeben, damit er das Formular abschicken kann. Ein Tippfehler bei der Eingabe der E-Mail Adresse ist somit so gut wie ausgeschlossen.

Eine Übereinstimmung von Formularfeldern können Sie natürlich auch für andere Einsatzzwecke ähnlich umsetzen.