CardScheme

Дата обновления перевода 2023-09-24

CardScheme

Это ограничение гаранирует, что номер кредитной карточки валиден для заданной компании. Оно может быть использовано для валидации номера до попыток инициирвания платежа через платёжный шлюз.

??????????? ? ???????? ??? ??????
????? CardScheme
????????? CardSchemeValidator

Базовое применение

Чтобы использовать валидатор CardScheme, просто примените его к свойству или методу объекта, который будет содержать номер кредитной карты.

1
2
3
4
5
6
7
8
9
10
11
12
13
// src/Entity/Transaction.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Transaction
{
    #[Assert\CardScheme(
        schemes: [Assert\CardScheme::VISA],
        message: 'Your credit card number is invalid.',
    )]
    protected string $cardNumber;
}

Дата обновления перевода 2025-02-21

Note

Как и в большинстве других ограничений, null и пустые строки считаются валидными значениями. Это для того, чтобы позволить им быть опциональными значениями. Если значение является обязательным, распространенным решением будет комбинация этого ограничения с NotBlank.

Доступные опции

Дата обновления перевода 2023-09-24

groups

тип: array | string по умолчанию: null

Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.

message

тип: string по умолчанию: Unsupported card type or invalid card number.

Сообщение, отображаемое, когда значение не проходит проверку CardScheme.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ value }} ??????? (??????????) ????????
{{ label }} ??????????????? ????? ???? ?????

Дата обновления перевода 2025-02-05

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.

schemes

тип: mixed [опция по умолчанию ]

Эта опция обязательна и представляет имя номерной схемы, используемой для валидации номера кредитной карты, онаможет быть либо строкой, либо массивом. Валидные значения:

  • AMEX
  • CHINA_UNIONPAY
  • DINERS
  • DISCOVER
  • INSTAPAYMENT
  • JCB
  • LASER
  • MAESTRO
  • MASTERCARD
  • MIR
  • UATP
  • VISA

Чтобы узнать больше об используемые схемах, см. Идентификационный номер эмитента (IIN).