Credit card validation in laravel

Updated at 22-Sep-2021, By samar

Credit card validation in laravel

In this session, we are going to try to solve the "Credit card validation in laravel" puzzle by using the computer language.

Sometimes you have to store credit card details. You can validate the credit card details before storing in the database. Here are some validation rules which you can use to validate the credit card details in laravel.
  • Validation rules for credit card using laravel-validation-rules/credit-card package in laravel

    //Install package laravel-validation-rules/credit-card using composer command
    composer require laravel-validation-rules/credit-card
    
    //Create the form request
    php artisan make:request CardVerificationRequest
    
    //app/Http/Requests/CardVerificationRequest.php
    //Import package (LVR\CreditCard) before the class (CardVerificationRequest) definition and after the namespace
    use LVR\CreditCard\CardCvc;
    use LVR\CreditCard\CardNumber;
    use LVR\CreditCard\CardExpirationYear;
    use LVR\CreditCard\CardExpirationMonth;
    
    //Write rules and error message for validation
    public function authorize()
    {
        return true;
    }
    
    public function rules()
    {
        return [
            'card_number' => ['required', 'unique:cards,cardNo', 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'))]
        ];
    }
    
    public function messages()
    {
        return [
            'card_number.required' => 'The card number is compulsory'
        ];
    }
    
    //Type-hint the CardVerificationRequest in our Controller’s store method
    //Import cardVerificationRequest in controller
    use App\Http\Requests\CardVerificationRequest;
    
    //Store method to store the card with CardVerificationRequest</span></p>
    public function store(CardVerificationRequest $request)
    {
        $validatedData = $request->validated();
        $newCard = new Card;
        $newCard->cardNo = $validatedData["card_number"];
        $newCard->cardExpiringMonth = $validatedData["expiration_month"];
        $newCard->cardExpiringYear = $validatedData["expiration_year"];
        $newCard->cardCVV = $validatedData["cvc"];
    
        $newCard->save();
    

    You can use laravel-validation-rules/credit-card package to validate credit card details in laravel. You can create a form request and use the controller's method with type hint to validate the provided credit card information by the user.

Back to code snippet queries related laravel