Laravel 신용 카드 확인

안녕하세요, 오늘 우리는 신용 카드 유효성 검사를 살펴볼 것입니다. 앱에 신용 카드를 추가하려면 데이터베이스에 저장되기 전에 일정 수준의 유효성 검사가 필요합니다.

더 많은 업데이트를 받으려면 나를 팔로우하려면 내 버튼을 클릭하세요.

1단계: 필요한 패키지 설치



Laravel Validator Rules - Credit Card 패키지를 사용할 예정이므로 설치해야 합니다.

composer require laravel-validation-rules/credit-card





2단계: 양식 요청 작성



이 단계에 대한 포괄적인 설명은 이 자료를 확인하십시오.

php artisan make:request CardVerificationRequest



3단계: 양식 요청 규칙 및 오류 메시지 작성



app/Http/Requests/, CardVerificationRequest.php에 생성된 파일을 열고 이것을 수정합니다.

<?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 CardVerificationRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    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'
        ];
    }
}


4단계: 컨트롤러에서 CardVerificationRequest 유형 힌트



유효성 검사를 사용하고 내 코드를 가이드로 사용하려는 컨트롤러 메서드로 이동합니다.

    /**
     * Store a newly created resource in storage.
     *
     * @param  \App\Http\Requests\CardVerificationRequest  $request
     * @return \Illuminate\Http\Response
     */
    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();

        return response()->json([
            "status" => "success",
            "message" => "Card saved successfully.",
            "data" => $newCard
        ], StatusCodes::SUCCESS);
    }


테스트



규칙을 위반하는 필드로 앱 실행

필드가 올바른 경우


더 많은 내 기사를 보려면 나를 팔로우하고 의견, 제안 및 반응을 남길 수 있습니다.
저는 PHP(Laravel) 백엔드 엔지니어로서 모든 공석에 개방되어 있으며 어떤 직업에도 사용할 수 있습니다.

시간 내 주셔서 감사합니다

좋은 웹페이지 즐겨찾기