New in Symfony 4.3: Improved Financial Constraints

Symfony
Symfony
Jan 3, 2019 · 2 min read
Sylvain Fabre
Sylvain Fabre

Contributed by
Sylvain Fabre
in #28479.

Matching BIC and IBAN codes

The International Bank Account Number (IBAN) is an internationally agreed system of identifying bank accounts across national borders. The Bank Identifier Code (BIC) is a unique identification code for both financial and non-financial institutions defined in the ISO 9362 standard.

Although both codes are independent, they can be checked in combination to validate that both belong at least to the same country. In Symfony 4.3 we improved the Bic constraint to allow validating BIC and IBAN codes together.

First, you can pass the IBAN code using the new iban option:

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

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

You can also use the new ibanPropertyPath option to define the object property that stores the IBAN code:

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

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

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

// ...
}

Added support for UATP cards

Raúl Fraile
Raúl Fraile

Contributed by
Raúl Fraile
in #29504.

Universal Air Travel Plan (UATP) is the airline owned payment network accepted by thousands of merchants for air, rail, hotel and travel agency payments. In Symfony 4.3 we improved the CardScheme constraint to add support for a new UATP scheme:

// ...

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

Symfony

Written by

Symfony

Official stories and announcements from the Symfony project.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade