dedlfix: Validierung: preg_match() oder filter_var() oder eigene Klasse?

Beitrag lesen

Tach!

bezogen auf die Valigierung (z.B. HTML-Formularen) kenne ich drei Formen.

  • preg_match()
  • filter_var()
  • oder eigene Validierung Klasse mit RegEx Verwendung

Ich kenne da noch eine ganze Menge mehr Formen. Eigentlich gibt es da keine begrenzende Zahl. Es gibt einige Standardvalidierungen, aber letztlich entscheidet der Anwendungsfall, was valide ist und was nicht, und damit wieviele Validisierungsverfahren man einsetzen muss.

bezogen auf die ersten beiden Punkte lohnt sich noch eine Klasse die im letzten Punkt aufgeführt habe? Ich mein, wenn da ein Spezialfall auftritt, für den es keine Filter Funktion gibt, wird sich wohl eine zusammengesetzter Filter aus den oberen genannten Filter Funktionen basteln lassen oder nicht?

Nicht unbedingt. Damit kann man vielleicht ein paar Standardfälle abdecken, aber nicht die Individualitäten. Wenn du dem Verwender die Freiheit geben möchtest, eigene Validatoren einzusetzen, solltest du eine Schnittstelle definieren, über die das erfolgen soll, schon damit da eine Einheitlichkeit ins System kommt. Das kann eine (abstrakte) Klasse sein, von der geerbt werden muss, oder ein Interface, das man implementieren muss. Und man sollte da auch vorsehen, dass eine Validierung auch mehr als ein Feld umfassen kann. Ein Passwortfeld auf Gleichheit mit dem Passwortwiederholungsfeld zu prüfen, oder dass Passwort und Nutzername nicht übereinstimmen, braucht keine der oben genannten Möglichkeiten, dafür aber die Möglichkeit, auf mindestens zweier Felder zuzugreifen.

dedlfix.