Validatoren

Validatoren prüfen Eingaben auf Gültigkeit.

Feld-Validatoren

string: WV30_Validator_String
Typ muss von String sein. Parameter: maxlen, minlen
mail: WV30_Validator_Mail
E-mail-Adresse
choice: WV30_Validator_Choice
Werte müssen aus Liste kommen. Paramter: choices, callback, callback_params, allow_empty
login_free: WV30_Validator_User_LoginFree
Loginname noch frei.

Schema-Validatoren

conditional_required WV30_Validator_SchemaConditionalRequired
Felder sind Pflichtfelder, wenn andere Felder wahr sind. Parameter: conditions, required
loggedin_required WV30_Validator_SchemaLoggedInRequired
Felder sind Pflichtfelder, wenn User eingeloggt ist. Parameter: login, required

depending_arrays WV30_Validator_SchemaDependingArrays

compare_strings WV30_Validator_SchemaCompareStrings
Felder müssen gleich sein. Parameter: fields

check_user WV30_Validator_SchemaUserRequired

form WV30_Validator_SchemaForm
Validiert ein Array-Feld durch ein eigenes Form. Parameter: field, form, repeat Hiermit können verschachtelte Formulare elegant validiert werden. Es kann so getan werden, als ob ein Feld des Formulares (in Arraynoation) ein eigenes Formular ist. Über den Parameter form wird eine komplette Formularkonfiguration des Teilformulars mitgegeben. Der Validator wendet die Validation des Teilformulars auf die Daten des Feldes an und sortiert die Fehler in die verschachtelete Fehlerliste des “äußeren” Formulars ein. Wiederholen sich Teile eines Formulars (z.B. Adresse hinzufügen) kann man den repeat- Parameter auf true setzen. Das Feld wird dann als eine Liste von Formularen angesehen und die Validation auf jedes Element einzeln angewendet.

Eigene Validatoren

Durch Ableitung von WV30_Validator_Base, WV30_Validator_SchemaBase oder vorhandener Validatoren können neue Validatoren definiert werden. Validiert wird in der Methode isValid. Über setErrorType und addErrorField (nur Schema) werden die Fehler gemeldet. Rückgabewert bei Fehlern ist false sonst true. Neue Validatoren müssen noch registriert werden. Erweitert man Form Evaluation selbst, trägt man diesen in der static.yml unter validators oder validator_schemas ein. Ist der Validator nur projektspeziefisch wird er in der forms.yml im Abschnitt _static eingetragen.

_static:                                                  # Definition eigener Validatoren, Prozessoren und Widgets.
                                                          # Diese können dann oben mit dem hier angegebenen Namen benutzt werden.
  validators:
    my_validator: MyValidatorClass                        # Klasse vom Typ WV30_Validator_Base
#   [...]
  validator_schemas:
    my_validator_schema: MyValidatorSchemaClass           # Klasse vom Typ WV30_Validator_SchemaBase
#   [...]

Inhalt

Vorheriges Thema

API

Nächstes Thema

Prozessoren

Diese Seite