Luhn
Дата обновления перевода 2023-09-25
Luhn
Это ограничение используется, чтобы гарантировать, что номер кредитной карты проходит алгоритм Луна. Оно полезно в качестве первого шага валидации кредитной карты: до коммуникации с шлюзом оплаты.
??????????? ? | ???????? ??? ?????? |
????? | Luhn |
????????? | LuhnValidator |
Базовое применение
Чтобы использовать валидатор Луна, просто примените его к свойству объекта, который будет содержать номер кредитной карты.
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: 'Please check your credit card number.')]
protected string $cardNumber;
}
Дата обновления перевода 2025-02-21
Note
Как и в большинстве других ограничений, null
и пустые строки считаются валидными
значениями. Это для того, чтобы позволить им быть опциональными значениями. Если
значение является обязательным, распространенным решением будет комбинация этого ограничения
с NotBlank.
Опции
Дата обновления перевода 2023-09-24
groups
тип: array
| string
по умолчанию: null
Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.
message
тип: string
по умолчанию: Невалидный номер карточки.
Сообщение по умолчанию, отображаемое, когда значение не проходит проверку Луна.
Вы можете использовать следующие параметры в этом сообщении:
???????? | ???????? |
---|---|
{{ value }} |
??????? (??????????) ???????? |
{{ label }} |
??????????????? ????? ???? ????? |
Дата обновления перевода 2025-02-05
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.