Новое в Symfony 4.3: Улучшены финансовые валидаторы
Перевод статьи New in Symfony 4.3: Improved Financial Constraints.
Проверка кода IBAN
Международный номер банковского счета (IBAN) является согласованной на международном уровне системой идентификации банковских счетов. Банковский идентификационный код (BIC) — это уникальный идентификационный код как для финансовых, так и для нефинансовых учреждений, определенный в стандарте ISO 9362.
Несмотря на то, что оба кода являются независимыми, их можно проверять совместно, чтобы удостовериться, что оба принадлежат к одной стране. В Symfony 4.3 валидатор Bic получит такой функционал.
Для начала можно явно указать код IBAN с помощью новой опции iban
:
use Symfony\Component\Validator\Constraints as Assert;
// ...
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('businessIdentifierCode', new Assert\Bic([
'iban' => 'FR1420041010050500013M02606',
)]);
}
Но можно также использовать ibanPropertyPath
, чтобы получать IBAN из валидируемого объекта динамически:
use Symfony\Component\Validator\Constraints as Assert;
// ...
class Transaction
{
/**
* @Assert\Bic(ibanPropertyPath="accountNumber")
*/
public $businessIdentifierCode;
/**
* @Assert\Iban
*/
public $accountNumber;
// ...
}
Добавлено Sylvain Fabre в #28479.
Добавлена поддержка карт UATP
Universal Air Travel Plan (UATP) — это платежная сеть, принадлежащая авиакомпаниям и принимаемая тысячами продавцов для оплаты авиационных, железнодорожных, гостиничных и туристических услуг. В Symfony 4.3 улучшен валидатор CardScheme, и теперь он поддерживает новую схему UATP:
// ...
class Transaction
{
/**
* @Assert\CardScheme(
* schemes={"AMEX", "MASTERCARD", "UATP", "VISA"},
* message="Некорректный номер карты."
* )
*/
public $cardNumber;
}
Добавлено Raúl Fraile в #29504.