Constraints Financeiras Aprimoradas no Symfony 4.3

Correspondência de Códigos BIC e IBAN e Adicionado Suporte para Cartões UATP

Correspondência de Códigos BIC e IBAN

O Número Internacional de Conta Bancária (IBAN — International Bank Account Number) é um sistema internacionalmente acordado de identificação de contas bancárias através das fronteiras nacionais. O Bank Identifier Code (BIC) é um código de identificação único para instituições financeiras e não financeiras definido na norma ISO 9362.

Embora ambos os códigos sejam independentes, eles podem ser verificados em combinação para validar que ambos pertencem, pelo menos, ao mesmo país. No Symfony 4.3, a constraint Bic para permitir a validação dos códigos BIC e IBAN juntos.

Primeiro, você pode passar o código IBAN usando a nova opção iban:

use Symfony\Component\Validator\Constraints as Assert;
// ...

public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('businessIdentifierCode', new Assert\Bic([
'iban' => 'FR1420041010050500013M02606',
)]);
}

Você também pode usar a nova opção ibanPropertyPath para definir a propriedade do objeto que armazena o código IBAN:

use Symfony\Component\Validator\Constraints as Assert;
// ...

class Transaction
{
/**
* @Assert\Bic(ibanPropertyPath = "accountNumber")
*/
protected $businessIdentifierCode;

/**
* @Assert\Iban
*/
protected $accountNumber;

// ...
}

Adicionado Suporte para Cartões UATP

O Plano Universal para Viagens Aéreas (UATP — Universal Air Travel Plan) é a rede de pagamento de companhias aéreas aceita por milhares de comerciantes para pagamentos aéreos, ferroviários, hoteleiros e agências de viagens. No Symfony 4.3, a constraint CardScheme foi aprimorada para adicionar suporte a um novo esquema UATP:

// ...

class Transaction
{
/**
* @Assert\CardScheme(
* schemes={"AMEX", "MASTERCARD", "UATP", "VISA"},
* message="Your credit card number is invalid."
* )
*/
protected $cardNumber;
}

Tradução de: New in Symfony 4.3: Improved Financial Constraints