Nachfolgend finden Sie eine Übersicht über die in brandbox verfügbaren Constraints. Zusätzlich finden Sie unter https://symfony.com/doc/current/validation.html#supported-constraints weitere Constraints von Symfony. Einschränkungen (Constraints) müssen immer nach folgendem Schemata definiert werden:
Kriterium(Parameter="Wert", Parameter=Wert, ...)
Weitere Informationen zum Einsatz der Einschränkungen können Sie in der Dokumentation des Validators nachlesen.
Optionen
Jede Einschränkung kann per Optionen konfiguriert werden. Eine fast immer verfügbare Option ist die anzuzeigende Fehlermeldung, falls die Einschränkung nicht eingehalten werden kann.
Definition einer statischen Fehlermeldung
Kriterium(message="Das ist eine Fehlermeldung!")
Definition einer übersetzbaren Fehlermeldung
Kriterium(message="i18n:Custom/Package.TranslationIdentifier")
Häufig verwendete Einschränkungen (Symfony)
Einschränkung | Beschreibung | Weitere Informationen |
---|---|---|
NotBlank() | Stellt sicher, dass eine Eingabe nicht "leer" ist. "Leer" kann sich auf eine Zeichenkette aber auch ein Array beziehen. | https://symfony.com/doc/current/reference/constraints/NotBlank.html |
Length(min=1, max=255) | Stellt die Länge einer Zeichenkette sicher. | https://symfony.com/doc/current/reference/constraints/Length.html |
Regex(pattern="/^regexp$/i") | Prüft eine Zeichenkette mit einer Regular Expression. | https://symfony.com/doc/current/reference/constraints/Regex.html |
In brandbox erstellte Einschränkungen
Einschränkung | Beschreibung |
---|---|
Age(min=18, max=99) | Kann als Einschränkung einer Datumsauswahl genutzt werden um ein Alter einzuschränken. |
IsIdentical(property="confirmation") | Stellt sicher, dass zwei Eingaben identisch zueinander sind. |
IsUnique() | Kann nur bei einer Eigenschaft (Column) einer Entity verwendet werden. Stellt sicher, dass die Eingabe nur einmal innerhalb der Entity und Eigenschaft exisiert. @FilterClient und @FilterDomain wird berücksichtigt. |
JsonArray() | Stellt sicher, dass eine Eingabe ein Array ist. |
NotHtml() | Stellt sicher, dass eine Eingabe kein HTML-Code enthält. |
ForeignKeyNotBlank() | Kann nur zusammen mit dem Eingabefeld Input/ForeignKey verwendet werden. Stellt sicher, dass eine Eingabe eine gültige Auswahl an Datensätzen ist. |
Email() | Stellt sicher, dass eine Eingabe eine gültige E-Mail-Adresse ist. |