Nuevo en Symfony 5.1: Validador AtLeastOneOf
Además del validador Hostname y del validador ExpressionLanguage, en
Symfony 5.1 hemos añadido otro validador llamado AtLeastOneOf
. Puedes aplicarlo
a propiedades y métodos para comprobar que sus valores cumplen al menos una de
las restricciones indicadas:
namespace App\Entity; use Symfony\Component\Validator\Constraints as Assert; class SomeEntity { /** * @Assert\AtLeastOneOf({ * @Assert\Length(min=5), * @Assert\EqualTo("bar") * }) */ public $name = 'foo'; /** * @Assert\AtLeastOneOf({ * @Assert\All({@Assert\GreaterThanOrEqual(10)}), * @Assert\Count(20) * }) */ public $numbers = ['3', '5']; /** * @Assert\All({ * @Assert\AtLeastOneOf({ * @Assert\GreaterThanOrEqual(5), * @Assert\LessThanOrEqual(3) * }) * }) */ public $otherNumbers = ['4', '5']; }
Los mensajes de error por defecto incluyen la lista completa de restricciones que no se cumplieron:
name: This value should satisfy at least one of the following constraints: [1] This value is too short. It should have 5 characters or more. [2] This value should be equal to "bar". numbers: This value should satisfy at least one of the following constraints: [1] Each element of this collection should satisfy its own set of constraints. [2] This collection should contain exactly 20 elements. otherNumbers[0]: This value should satisfy at least one of the following constraints: [1] This value should be greater than or equal to 5. [2] This value should be less than or equal to 3.
Esta funcionalidad fue contribuida por Przemysław Bogusz en el pull request #35744.
Fuente: New in Symfony 5.1: AtLeastOne validator
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.