槽 / 信用卡
验证信用卡号、到期日期、CVC码
1.1
2024-03-20 21:12 UTC
Requires
- php: 7.*|8.*
- illuminate/support: ^10.0|^11.0
- illuminate/translation: ^10.0|^11.0
- illuminate/validation: ^10.0|^11.0
This package is auto-updated.
Last update: 2024-09-20 22:53:31 UTC
README
此规则将验证给定的信用卡号码、到期日期或CVC是否有效。
安装
composer require laravel-validation-rules/credit-card
用法
作为FormRequest
<?php namespace App\Http\Requests; use LVR\CreditCard\CardCvc; use LVR\CreditCard\CardNumber; use LVR\CreditCard\CardExpirationYear; use LVR\CreditCard\CardExpirationMonth; use Illuminate\Foundation\Http\FormRequest; class CreditCardRequest extends FormRequest { /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'card_number' => ['required', new CardNumber], 'expiration_year' => ['required', new CardExpirationYear($this->get('expiration_month'))], 'expiration_month' => ['required', new CardExpirationMonth($this->get('expiration_year'))], 'cvc' => ['required', new CardCvc($this->get('card_number'))] ]; } }
卡号
来自请求
$request->validate( ['card_number' => '37873449367100'], ['card_number' => new LVR\CreditCard\CardNumber] );
直接
(new LVR\CreditCard\Cards\Visa) ->setCardNumber('4012888888881881') ->isValidCardNumber()
卡到期日期
来自请求
// CardExpirationYear requires card expiration month $request->validate( ['expiration_year' => '2017'], ['expiration_year' => ['required', new LVR\CreditCard\CardExpirationYear($request->get('expiration_month'))]] ); // CardExpirationMonth requires card expiration year $request->validate( ['expiration_month' => '11'], ['expiration_month' => ['required', new LVR\CreditCard\CardExpirationMonth($request->get('expiration_year'))]] ); // CardExpirationDate requires date format $request->validate( ['expiration_date' => '02-18'], ['expiration_date' => ['required', new LVR\CreditCard\CardExpirationDate('my')]] );
直接
LVR\CreditCard\Cards\ExpirationDateValidator( $expiration_year, $expiration_month )->isValid(); // Or static LVR\CreditCard\Cards\ExpirationDateValidator::validate( $expiration_year, $expiration_month );
卡CVC
来自请求
// CardCvc requires card number to determine allowed cvc length $request->validate( ['cvc' => '123'], ['cvc' => new LVR\CreditCard\CardCvc($request->get('card_number'))] );
直接
LVR\CreditCard\Cards\Card::isValidCvcLength($cvc);
许可证
本项目采用Apache 2.0许可证,您可以在此LICENSE中找到。
反馈
如果您有任何反馈、评论或建议,请随时在此存储库中提交问题!