...
Alle Constraints die hier beschrieben sind, können in der diagram.json verwendet werden.
Beispiel
Codeblock | ||
---|---|---|
| ||
{ "identifier": "example", "labels": { "de": "Beispiel", "en": "Example" }, ... "constraints": [ "NotBlank()", "Regex(\"/^{.*}/\")", "Length(max=256)" ] } |
...
Werden keine Eingabefehler festgestellt, kann das Objekt in der Callback-Methode verarbeitet werden. Wurden Eingabefehler ermittelt, werden violations an den Browser gesendet, die im Client verarbeitet werden können.
Entity
Codeblock | ||||
---|---|---|---|---|
| ||||
namespace brandbox\your\plugin\lib\map { use brandbox\component\basic_map; use /** @noinspection PhpUnusedAliasInspection */ Symfony\Component\Validator\Constraints ; /** */ class someObject extends basic_map\mapEntityAbstract { /** * @var string * @Constraints\NotBlank() * @Constraints\Length(min=3) */ public $propertyA; } } |
Validierung
Codeblock | ||||
---|---|---|---|---|
| ||||
use brandbox\component\validator; ... class engine extends plugin\lib\engineAbstract { /** * @param int $someObjectID * @param array $params * @return array|http\respond\invalid */ public function save($someObjectID, $params) { $someObject = new lib\map\someObject(); $someObject->mapProperties($params); return $this->validateValue( $someObject, $this->getApplicationLanguage(), function($someObject) { return true; } ); } } |
Darstellung im Frontend
Wurden Eingabefehler ermittelt, werden violations an den Browser gesendet, die im Client verarbeitet werden können. Bei einem Fehler wie invalid-something
wird unter anderem auch der violation-Header x-brandbox-invalid-something
an den Client geschickt. Dort wird nach Elementen mit der class x-brandbox-invalid-something
gesucht und die class hide
vom Element genommen.
...