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;
}
注意
与大多数其他约束一样,null
和空字符串被认为是有效值。这是为了允许它们成为可选值。如果该值是强制性的,一个常见的解决方案是将此约束与 NotBlank 结合使用。
可用选项
message
类型: string
默认值: 不支持的卡类型或无效的卡号。
当值未通过 CardScheme
检查时显示的消息。
您可以在此消息中使用以下参数
参数 | 描述 |
---|---|
{{ value }} |
当前(无效)值 |
{{ label }} |
对应的表单字段标签 |
payload
类型: mixed
默认值: null
此选项可用于将任意特定于域的数据附加到约束。配置的 payload 不会被 Validator 组件使用,但其处理完全取决于您。
例如,您可能想使用 几个错误级别,以便在前台根据错误的严重程度以不同的方式呈现失败的约束。
schemes
类型: mixed
[默认选项]
此选项是必需的,表示用于验证信用卡号的号码方案的名称,它可以是字符串或数组。有效值包括
AMEX
CHINA_UNIONPAY
DINERS
DISCOVER
INSTAPAYMENT
JCB
LASER
MAESTRO
MASTERCARD
MIR
UATP
VISA
有关所用方案的更多信息,请参阅 维基百科:发卡行识别号码 (IIN)。
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。