Javascript-Validierung: Eingaben nach Fehlern überprüfen und entsprechend reagieren
bearbeitet von
@@borisbaer
> Ich habe leider noch keine RegEx für a-z, a-Z, 0-9, Umlaute, Leerzeichen und was man sonst noch vielleicht erlauben sollte.
Da kann ich helfen: `.+`. Man sollte alles erlauben. Die Nutzer wissen am besten, wie sie heißen.
Das heißt: man brauch keinen RegExp. Und auch gar keine Prüfung (außer ob überhaupt was eingegeben wurde).
---
> ~~~ JavaScript
> node.onsubmit = e => {
> ~~~
>
> Ist das so besser?
Gut ist es nicht. Wofür steht `e`? Element? Event? Irgendwas anderes? Man muss überlegen.
Benenne Variablen sinnvoll: `event`.
---
> > 3. Feld-Validation macht man nicht im keydown-Handler eines input-Elements, sondern im input-Event für Sofortprüfungen und im change-Event für Prüfungen beim Verlassen des Feldes.
>
> Was meinst du mit „input-Event für Sofortprüfungen“? Kenne ich leider nicht.
Bei Eingaben und beim Verlassen des Eingabefelds feuern verschiedene Events; kannste dir in [diesem Codepen](https://codepen.io/gunnarbittersmann/pen/PxLaVY?editors=0011) ansehen.
---
> Aber kann man hier auch gleich mehrere Fehlermeldungen pro Feld anzeigen lassen? Also z.B. „braucht Großbuchstaben“, „braucht Sonderzeichen“ oder so.
**Nein!** Davon sollte man nicht mehrere Fehlermeldungen anzeigen, sondern exakt 0 (in Worten: null).
Es sind keine Fehler des Nutzers, sondern Fehler des Entwicklers, des Produktmanagers, des Designers. Von Passwörtern zu verlangen, sie müssten Zeichen aus bestimmten Zeichenklassen enthalten ist – Entschuldigung für mein Französisch – völliger **bullshit**{:@en}. Das war’s auch [vor 8 Jahren](https://forum.selfhtml.org/self/2014/nov/5/regulaerer-ausdruck-passwort/1624123#m1624123) schon.
Was man machen kann: die [Sicherheit eines Passworts prüfen](https://codepen.io/gunnarbittersmann/pen/zzzQop) und – je nach Anwendung – zumindest mittlere Sicherheit verlangen.
🖖 Живіть довго і процвітайте
{:@uk}
--
*„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“*
— @Grantscheam auf Twitter
Javascript-Validierung: Eingaben nach Fehlern überprüfen und entsprechend reagieren
bearbeitet von
@@borisbaer
> Ich habe leider noch keine RegEx für a-z, a-Z, 0-9, Umlaute, Leerzeichen und was man sonst noch vielleicht erlauben sollte.
Da kann ich helfen: `.+`. Man sollte alles erlauben. Die Nutzer wissen am besten, wie sie heißen.
Das heißt: man brauch keinen RegExp. Und auch gar keine Prüfung (außer ob überhaupt was eingegeben wurde).
---
> ~~~ JavaScript
> node.onsubmit = e => {
> ~~~
>
> Ist das so besser?
Gut ist es nicht. Wofür steht `e`? Element? Event? Irgendwas anderes? Man muss überlegen.
Benenne Variablen sinnvoll: `event`.
---
> > 3. Feld-Validation macht man nicht im keydown-Handler eines input-Elements, sondern im input-Event für Sofortprüfungen und im change-Event für Prüfungen beim Verlassen des Feldes.
>
> Was meinst du mit „input-Event für Sofortprüfungen“? Kenne ich leider nicht.
Bei Eingaben und beim Verlassen des Eingabefelds feuern verschiedene Events; kannste dir in [diesem Codepen](https://codepen.io/gunnarbittersmann/pen/PxLaVY?editors=0011) ansehen.
---
> Aber kann man hier auch gleich mehrere Fehlermeldungen pro Feld anzeigen lassen? Also z.B. „braucht Großbuchstaben“, „braucht Sonderzeichen“ oder so.
**Nein!** Davon sollte man nicht mehrere Fehlermeldungen anzeigen, sondern exakt 0 (in Worten: null).
Es sind keine Fehler des Nutzers, sondern Fehler des Entwicklers, des Produktmanagers, des Designers. Von Passwörtern zu verlangen, sie müssten Zeichen aus bestimmten Zeichenklassen enthalten ist – Entschuligung für mein Französisch – völliger **bullshit**{:@en}. Das war’s auch [vor 8 Jahren](https://forum.selfhtml.org/self/2014/nov/5/regulaerer-ausdruck-passwort/1624123#m1624123) schon.
Was man machen kann: die [Sicherheit eines Passworts prüfen](https://codepen.io/gunnarbittersmann/pen/zzzQop) und – je nach Anwendung – zumindest mittlere Sicherheit verlangen.
🖖 Живіть довго і процвітайте
{:@uk}
--
*„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“*
— @Grantscheam auf Twitter