diff --git a/cookbook/validation/custom_constraint.rst b/cookbook/validation/custom_constraint.rst index 20244298499..b8b4ccbc2a2 100644 --- a/cookbook/validation/custom_constraint.rst +++ b/cookbook/validation/custom_constraint.rst @@ -161,7 +161,7 @@ Constraint Validators with Dependencies If your constraint validator has dependencies, such as a database connection, it will need to be configured as a service in the Dependency Injection Container. This service must include the ``validator.constraint_validator`` -tag and an ``alias`` attribute: +tag and may include an ``alias`` attribute: .. configuration-block:: @@ -189,21 +189,14 @@ tag and an ``alias`` attribute: ->register('validator.unique.your_validator_name', 'Fully\Qualified\Validator\Class\Name') ->addTag('validator.constraint_validator', array('alias' => 'alias_name')); -Your constraint class should now use this alias to reference the appropriate -validator:: +As mentioned above, Symfony will automatically look for a class named after +the constraint, with ``Validator`` appended. You can override this in your constraint class:: public function validatedBy() { - return 'alias_name'; + return 'Fully\Qualified\ConstraintValidator\Class\Name'; // or 'alias_name' if provided } -As mentioned above, Symfony will automatically look for a class named after -the constraint, with ``Validator`` appended. If your constraint validator -is defined as a service, it's important that you override the -``validatedBy()`` method to return the alias used when defining your service, -otherwise Symfony won't use the constraint validator service, and will -instantiate the class instead, without any dependencies injected. - Class Constraint Validator ~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: