Wie für eine Web-Seite Formular, um einen Validierungsfunktion zu erstellen

Das filter_var Funktion geht ein langer Weg in Richtung automatisierte Validierung Elemente für gemeinsame Form bereitstellt. Wenn Sie mit Formularen anfangen zu arbeiten, werden Sie feststellen, dass Sie die gleichen Dinge immer und immer wieder, wie Postleitzahl oder Staat, zu validieren müssen. Leider gibt es keine integrierte PHP-Funktionen eine Postleitzahl oder Staat zu validieren. Aber es gibt nichts, was man verhindern, dass ein zu schaffen!

Funktion is_valid_state ($ state) {$ validStates = array ( "Alabama", "California", "Colorado", "Florida", "Illinois", "New Jersey", "New York", "Wisconsin") - if (in_array ($ Zustand, $ validStates)) {return Echt-} else {return falsch-}} // end function is_valid_state

Diese Funktion übernimmt ein Argument des Staates zu überprüfen. Der Staat ist gegen die Liste der bekannten Zustände geprüft. Wenn der Staat unter dieser Liste gefunden wird, gibt die Funktion Boolean wahr, was bedeutet, dass es einen gültigen Zustand.

Funktion is_valid_zip ($ zip) {if (preg_match ( '/ ^ [d] + $ /', $ zip)) {return Echt-} else if (strlen ($ zip) == 5 || strlen ($ zip) = = 9) {return Echt-} else {return falsch-}} // end function is_valid_zip

Wie die Zustandsfunktion, nimmt die ZIP-Funktion auch eine eingehende Argument, diesmal die ZIP-Code zu bestätigen. Die gleichen grundlegenden Validierungsprüfungen werden in dieser Funktion durchgeführt, wie sie in der nicht-funktionalisierte Version aus dem waren Form-process.php Datei. Wenn die ZIP nur Ziffern und ist entweder fünf oder neun Ziffern, dann Boolean wahr sonst wird returned-, falsch zurückgegeben.

In den meisten Fällen würden Sie diese Funktionen in einer externen Datei erstellen und dann die Datei benötigen, wo immer nötig durch require_once () oder über Ihren Autoload-Prozess. Zum Beispiel enthalten Sie diese Validierungsfunktionen in einer Datei mit dem Namen validation.inc und dann verwendet, um die folgende Zeile an der Spitze der Form-process.php Datei.

require_once ( "validation.inc") -

Ändern der Form-process.php Datei, um diese Funktionen zu verwenden, sieht wie folgt aus:

if (isset ($ _ POST [ 'Zustand']) $ _POST [ 'State'] = "") {if) {$ _SESSION [ 'error'] [] = (is_valid_state ($ _ POST [ 'state']!) "Bitte wählen Sie einen gültigen Zustand" -}} if (! isset ($ _ POST [ 'zip']) $ _POST [ 'Zip'] = "") {if) {$ _SESSION [ 'error'] [] = (is_valid_zip ($ _ POST [ 'zip']!) "Postleitzahl Fehler." -}}!

Menü