Skip to content

Commit

Permalink
Document constraint validator alias optional
Browse files Browse the repository at this point in the history
  • Loading branch information
Tristan Roussel committed Feb 24, 2016
1 parent 3b2939f commit d670ab8
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions cookbook/validation/custom_constraint.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,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::

Expand Down Expand Up @@ -195,21 +195,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\Class\Named\ConstraintValidator'; // 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
~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down

0 comments on commit d670ab8

Please sign in to comment.