Nuevo en Symfony 4.3: Mejoras en los validadores financieros
Los validadores financieros y numéricos de Symfony permiten validar datos como tarjetas de crédito y cuentas bancarias. En Symfony 4.3 les hemos añadido algunas mejoras.
Comprobando que el BIC y el IBAN estén relacionados
El IBAN (International Bank Account Number) es un estándar internacional para identificar cuentas bancarias entre países. El BIC (Bank Identifier Code) es un código para identificar de forma única a instituciones financieras y se define en el estándar ISO 9362.
Aunque los dos códigos son independientes, se pueden validar conjuntamente para comprobar al menos que los dos pertenecen al mismo país. Así que en Symfony 4.2 hemos mejorado el validador BIC para que se pueda validar junto a un IBAN.
Así por ejemplo, puedes pasar al BIC el código del IBAN mediante su nueva opción
iban
para validar que los dos están relacionados:
use Symfony\Component\Validator\Constraints as Assert; // ... public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('businessIdentifierCode', new Assert\Bic([ 'iban' => 'FR1420041010050500013M02606', ])); }
Otra forma de validarlo es usar la nueva opción ibanPropertyPath
para
definir qué propiedad del objeto almacena el código IBAN:
use Symfony\Component\Validator\Constraints as Assert; // ... class Transaction { /** * @Assert\Bic(ibanPropertyPath = "accountNumber") */ protected $businessIdentifierCode; /** * @Assert\Iban */ protected $accountNumber; // public getters for properties ... }
Esta funcionalidad fue contribuida por Sylvain Fabre en el pull request #28479.
Añadido soporte para tarjetas de UATP
UATP (Universal Air Travel Plan) es una red de pago operada por las aerolíneas
y que permite realizar pagos en agencias de viajes, trenes, aviones, hoteles, etc.
En Symfony 4.3 hemos mejorado el validador CardScheme para que también pueda
validar este esquema de pago llamado UATP
:
// ... class Transaction { /** * @Assert\CardScheme( * schemes={"AMEX", "MASTERCARD", "UATP", "VISA"}, * message="Your credit card number is invalid." * ) */ protected $cardNumber; }
Esta funcionalidad fue contribuida por Raúl Fraile en el pull request #29504.
Fuente: New in Symfony 4.3: Improved Financial Constraints
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.