/

Feldvalidierung

Ein Feld erforderlich machen und seine Form prüfen - beides clientseitig für eine reibungslose Nutzererfahrung durchgesetzt und serverseitig, weil dem Client niemals vertraut werden kann.

Erforderliche Felder

->validation_required($field, $minLength = null) verbietet das Speichern des Formulars, wenn das Feld leer gelassen wurde, und verlangt optional zusätzlich eine Mindestlänge. Beide Prüfungen laufen clientseitig (sofortiges Feedback) UND serverseitig (die tatsächliche Durchsetzung).

$xcrud->validation_required('lastName');
$xcrud->validation_required('password', 8);
ParameterTypStandardBeschreibung
$fieldstring-Feld, das zum Speichern nicht leer sein darf
$minLength?intnullWenn gesetzt, muss der Wert außerdem mindestens diese Anzahl Zeichen haben

Musterprüfung

->validation_pattern($field, $pattern) verlangt, dass der Wert eines Feldes (falls nicht leer) einem Regex entspricht. Ein leeres Feld besteht eine Musterprüfung für sich genommen - kombinieren Sie sie mit ->validation_required(), um auch das Leerlassen zu verbieten.

$xcrud->validation_pattern('email', 'email');
$xcrud->validation_pattern('sku', '^[A-Z]{2}-\d{4}$');
ParameterTypStandardBeschreibung
$fieldstring-Zu validierendes Feld
$patternstring-Eine benannte Abkürzung oder ein wörtlicher Regex-Körper ohne Begrenzungszeichen
Benannte AbkürzungEntspricht
emailEiner einfachen user@host-Form
alphaNur Buchstaben
alpha_numericBuchstaben und Ziffern
alpha_dashBuchstaben, Ziffern, Unterstrich, Bindestrich
numericEine Ganzzahl oder Dezimalzahl, optional negativ
naturalNur Ziffern (eine nicht-negative Ganzzahl)
urlEine http://- oder https://-URL

Warum serverseitige Durchsetzung wichtig ist

Clientseitige Validierung ist eine Höflichkeit - sie gibt einem Besucher sofortiges Feedback ohne einen Umweg zum Server. Sie ist keine Sicherheitsgrenze: Ein Client kann jede clientseitige Prüfung einfach umgehen, indem er die REST-API direkt aufruft (z. B. mit curl oder fetch()), und dabei das Formular und dessen JavaScript komplett überspringt. Deshalb führen ->validation_required() und ->validation_pattern() beide genau dieselben Prüfungen erneut auf dem Server aus, bevor eine Zeile jemals geschrieben wird. Den rohen Endpunkt, den diese Prüfungen absichern, finden Sie in der REST-API-Referenz.

Alles zusammen

$xcrud = Xcrud::get_instance();
$xcrud->table('employees');
$xcrud->route('employees');

$xcrud->validation_required('lastName');
$xcrud->validation_required('firstName');
$xcrud->validation_pattern('email', 'email');
$xcrud->validation_pattern('extension', 'alpha_numeric');

$xcrud->render();