Skip to content

Commit 3f0ad71

Browse files
committed
validator : choice constraint : explain how to supply choices from a constant
1 parent 239136d commit 3f0ad71

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

reference/constraints/Choice.rst

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ constraint.
210210
}
211211
}
212212
213-
If the callback is stored in a different class and is static, for example ``AppBundle\Entity\Genre``,
213+
If the callback is defined in a different class and is static, for example ``AppBundle\Entity\Genre``,
214214
you can pass the class name and the method as an array.
215215

216216
.. configuration-block::
@@ -279,6 +279,35 @@ you can pass the class name and the method as an array.
279279
}
280280
}
281281
282+
Supplying the Choices from an Array Constant
283+
--------------------------------------------
284+
285+
You can also directly provide a constant containing an array to the ``choices`` option in the annotation::
286+
287+
// src/AppBundle/Entity/Author.php
288+
namespace AppBundle\Entity;
289+
290+
use Symfony\Component\Validator\Constraints as Assert;
291+
292+
class Author
293+
{
294+
const GENRES = ['action', 'comedy'];
295+
296+
/**
297+
* @Assert\Choice(choices=Author::GENRES)
298+
*/
299+
protected $genre;
300+
}
301+
302+
.. warning::
303+
304+
Notice that the constant in the option is used without quotes.
305+
306+
.. note::
307+
308+
If the constant is defined in a different class, you can pass the fully qualified class name.
309+
310+
282311
Available Options
283312
-----------------
284313

0 commit comments

Comments
 (0)