Luhn

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

Luhn

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

??????????? ? ???????? ??? ??????
????? Luhn
????????? LuhnValidator

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

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

  • Attributes
  • YAML
  • XML
  • PHP
1
2
3
4
5
6
7
8
9
10
// src/Entity/Transaction.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Transaction
{
    #[Assert\Luhn(message: 'Пожалуйста, проверьте номер своей кредитной карты.')]
    protected $cardNumber;
}

Note

As with most of the other constraints, null and empty strings are considered valid values. This is to allow them to be optional values. If the value is mandatory, a common solution is to combine this constraint with NotBlank.

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

message

тип: string по умолчанию: Невалидный номер карточки.

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

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

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

payload

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

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

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