Veröffentlichungsdatum: 29. Juli 2014
Änderungsdatum: 06. Februar 2024
formular formulareditor validierung
Ü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.
Im aktuellen Formular Weblic® der BASE (Mobile First) unterstützen Formularfelder in Verbindung mit der aktuellen ui.js und der aktuellen Software folgenden Validator, um zu prüfen, ob der Wert mit dem eines anderen Feldes übereinstimmt.
isEqualInput(FELDNAME)
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, z.B. zu einem Passwort Feld, welches durch ein Passwort (Wiederholung) Feld ergänzt wird, damit besser sichergestellt ist, daß der Nutzer das Passwort korrekt eingibt.
Beispiel:
required|isEqualInput(password)
Mit dem aktuellen Formular Weblic® ab Weblication® CMS Version 18 kann die Auswahl des Validators als "Eigender Validator" komfortabel über die Maske des Formular-Feldes erfolgen.
Ü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:
Das oben aufgeführte Quelltextbeispiel im Screen finden Sie nachfolgend nochmals als Auszug zum Validierungsteil im Quelltextbeispiel zum Kopieren:
...
$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.