In addition to the new AtLeastOneOf, ExpressionLanguageSyntax and Hostname validators, Symfony 5.1 introduced other validator improvements.
alpha3
option to Country
¶
Contributed by
Maxime Perrimond
in #35116.
If you set the new alpha3
option to true
in the Country constraint,
the value is checked as a valid ISO 3166-1 alpha-3 three-letter country code
(e.g. ARG
= Argentina) instead of the default ISO 3166-1 alpha-2 two-letter
country code (e.g. AR
= Argentina).
alpha3
option to Language
¶
Contributed by
Christian Flothmann
in #35848.
Similar to the previous feature, in the Language constraint we added a new
alpha3
option to allow using ISO 639-2 three-letter language codes
(swe
= Swedish) instead of the default ISO 639-1 two-letter language code
(sv
= Swedish).
divisibleBy
option to Count
¶
Contributed by
Thomas Calvet
in #35783.
The new divisibleBy
option added to the Count constraint checks that the
the number of elements of the given collection is divisible by a certain number.
If you need to perform this check in other values that aren't collections, use
the DivisibleBy constraint.
Contributed by
janvernieuwe
in #31466.
Sometimes you need to reuse Symfony's constraints in places like the
Symfony Console, to validate the answer to a console question. That's why we've
added a new Validation::createCallable()
to create a callable based on the
given constraints:
1 2 3 4 5 6 7 8 | use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\Validator\Constraints\NotNull;
use Symfony\Component\Validator\Validation;
$io = new SymfonyStyle($input, $output);
$validation = Validation::createCallable(new NotBlank());
$wsdl = $io->ask('Wsdl location URL', null, $validation);
|
The argument of createCallable()
is variadic, so you can pass any number
of constraints:
1 2 3 4 5 | // ...
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\Url;
$validation = Validation::createCallable(new Length(['max' => 255]), new Url());
|
What a Symfony developer should know about the framework: News, Jobs, Tweets, Events, Videos,...