Nuevo en Symfony 5.1: Mejoras en el componente Validator
En Symfony 5.1, además de introducir los validadores AtLeastOneOf, ExpressionLanguageSyntax y Hostname, hemos añadido otras mejoras en el validador.
Añadida la opción alpha3
a Country
Si defines como true
la nueva opción alpha3
del validador Country, el
valor se valida como un código de país de tres letras ISO 3166-1 alpha-3
(ej. ARG
= Argentina) en vez del código por defecto de dos letras ISO 3166-1
alpha-2 (ej. AR
= Argentina).
Esta funcionalidad fue contribuida por Maxime Perrimond en el pull request #35116.
Añadida la opción alpha3
a Language
Similar a la funcionalidad anterior, la opción alpha3
del
validador Language permite usar códigos de idioma de tres letras using ISO 639-2
(swe
= sueco) en vez del código por defecto de dos letras ISO 639-1
(sv
= sueco).
Esta funcionalidad fue contribuida por Christian Flothmann en el pull request #35848.
Añadida la opción divisibleBy
a Count
La nueva opción divisibleBy
del validador Count comprueba que el número
de elementos de la colección es divisible por el número indicado. Si quieres
hacer esta comprobación en otros tipos de datos diferentes a colecciones,
utiliza el validador DivisibleBy.
Esta funcionalidad fue contribuida por Thomas Calvet en el pull request #35783.
Validación reusable
A veces necesitas reusar los validadores de Symfony en lugares como los comandos
de consola; por ejemplo, para validar el respuesta a una pregunta de la consola.
Por eso hemos añadido un méotodo llamado Validation::createCallable()
para
crear un callable de PHP con los validadores indicados:
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);
El argumento de createCallable()
es variádico, así que puedes pasar más de un
validador:
// ... use Symfony\Component\Validator\Constraints\Length; use Symfony\Component\Validator\Constraints\Url; $validation = Validation::createCallable(new Length(['max' => 255]), new Url());
Esta funcionalidad fue contribuida por janvernieuwe en el pull request #31466.
Fuente: New in Symfony 5.1: Validator improvements
Comentarios
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.