Wiederholte Eingabe Überprüfung im Code
MB
- php
- programmiertechnik
- programmiertechnik
Moin Community,
bei User Interaktion in komplexeren Strukturen (z.B. Kontaktformular, Login, Gästebuch usw.) muss man die Eingabe des Formulars überprüfen ob das Fomular die geforderten Daten überhaupt überbracht hat. Mir ist es passiert das ich mehrere male die selbe Formulareingabe überprüfte. Das ist unnötig und erhöt die Wartezeit.
Ist es konventionell her so das in Frameworks die Überprüfen an einer ganz bestimmten Stelle geschied? Ich hab das zum Testen so gemacht:
<?php
Validation::form( [
'last' => $_POST[ 'last' ],
'first' => $_POST[ 'first' ],
'first' => $_POST[ 'email' ]
] ) );
class Validation {
public static function form( array $data ) : bool {
foreach( $data as $key => $value ) {
if( empty( $value ) ) {
return false;
}
}
return true;
}
}
?>
Meine simple Lösung schänkt jedoch ein.
vlg MB
Hallo MB,
Vor allem solltest du möglichst alle Eingabefehler gemeinsam anmahnen und für aussagekräftige Fehlermeldungen sorgen. Für den erneuten Durchlaiuf solltest du zudem die Eingabefelder nicht leeren.
Alles, was clientseitig überprüft werden kann, solltest du bereits überprüfen. Beachte jedoch, dass die serverseitige Überprüfung dennoch unbedingt notwendig ist.
Also so:
Fehler: Der gewählte Benutzername ist zu kurz. Das Geburtsdatum wurde nicht angegeben.
Und nicht
Fehler: Der Benutzername ist zu kurz.
(Der Benutzer korrigiert die Eingabe)
Fehler: Das Geburtsdatum wurde nicht angegeben.
Bis demnächst
Matthias
Hello,
Vor allem solltest du möglichst alle Eingabefehler gemeinsam anmahnen und für aussagekräftige Fehlermeldungen sorgen. Für den erneuten Durchlaiuf solltest du zudem die Eingabefelder nicht leeren.
Alles, was clientseitig überprüft werden kann, solltest du bereits überprüfen. Beachte jedoch, dass die serverseitige Überprüfung dennoch unbedingt notwendig ist.
Also so:
Fehler: Der gewählte Benutzername ist zu kurz. Das Geburtsdatum wurde nicht angegeben.
Und nicht
Fehler: Der Benutzername ist zu kurz.
(Der Benutzer korrigiert die Eingabe)
Fehler: Das Geburtsdatum wurde nicht angegeben.
Viel wichtiger ist die Zeile:
Pro Fehleingabe wird die Spende von 1€ auf Konto DE06 2685 0001 0096 3838 56 fällig
;-P
Liebe Grüße
Tom S.
Moin Matthias,
Vor allem solltest du möglichst alle Eingabefehler gemeinsam anmahnen und für aussagekräftige Fehlermeldungen sorgen.
Habe ich "clientseitig" vor.
Für den erneuten Durchlaiuf solltest du zudem die Eingabefelder nicht leeren.
ok habe aber auch nicht vor 😉. Nur zum zeigen.
Alles, was clientseitig überprüft werden kann, solltest du bereits überprüfen.
schon klar siehe oben.
Wenn sich doch mal eine Fehlerchen eingeschlichen hat, sollte der server nur sagen: "Fehler", und schicks wieder zurück, weil ja serverseitig nicht aufgabe ist, dem User eine hilfe zu geben - so hab ichs verstanden. Wenn z.B. JavaScript deaktiviert ist, muss der Server wenigstens sagen, dass die Formular Daten unzureichent sind.
Meine Frage war ja:
vlg MB
@@Matthias Apsel
Fehler: Der Benutzername ist zu kurz.
(Der Benutzer korrigiert die Eingabe)
Der Fehler sollte behoben werden. Und nein, das ist kein Fehler des Nutzers.
Wie kann ein Nutzername zu kurz sein? Es kann bereits vergeben sein. Aber prinzipiell sollte ein Zeichen als Nutzername ausreichen.
Fehler: Das Geburtsdatum wurde nicht angegeben.
Fehler: Was geht euch mein Geburtstag an? Ich will keine Glückwunsch-E-Mail von euch, also braucht ihr diese Daten nicht.
LLAP 🖖
Hallo Gunnar Bittersmann,
Es handelt sich um fiktive Fehlermeldungen. Die Angabe eines Geburtsdatums ist zum Beispiel bei einer Kontoeröffnung oder bei einem Kreditantrag notwendig.
Bis demnächst
Matthias