Laravel 양식 유효성 검사

3876 단어
안녕하세요, 새해 복 많이 받으세요. 성탄절을 즐기고 계시나요? 오늘은 라라벨에서 Form Validation에 대해 글을 써보려고 합니다. 사용자가 양식을 작성해야 하는 애플리케이션과 데이터베이스에 데이터를 저장하는 애플리케이션을 구축할 때 항상 유효성을 검사해야 합니다. 그렇지 않은 경우 사용자가 결정하거나 실수로 필드 및 서밋에 잘못된 데이터를 입력할 수 있습니다. 응용 프로그램이 이를 처리하지만 저장 방법이 처리하기 전에 일부 유효성 검사 규칙이 있는 경우 양식 입력을 확인하기 위해 오류를 반환합니다.
라라벨은 즉시 사용할 수 있는 몇 가지 기본 유효성 검사 규칙을 가지고 있지만, 우리 자신의 규칙 세트를 정의하고 싶은 몇 가지 인스턴스가 있습니다. 복잡한 시나리오가 있을 수 있으므로 양식 요청을 작성해야 합니다. 프로그래밍에서도 SOLID 원칙의 SRP는 클래스가 하나의 작업만 수행해야 하므로 컨트롤러의 저장 방법은 데이터 저장만 처리하고 처리하지 않아야 합니다. 확인.
더 잘 이해하게 될 것입니다.

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

1단계: 양식 요청 작성



양식 요청을 생성하기 위해 artisan 명령을 사용합니다.

php artisan make:request StoreProjectRequest



StoreProjectRequest.php 파일이 있는 app/Http/디렉토리에 Requests라는 폴더가 생성되고 파일을 열고 유효성 검사 규칙을 작성해 보겠습니다.

2단계: 유효성 검사 규칙 작성



app/Http/Requests/StoreProjectRequest.php로 이동합니다.
유효성을 검사하려는 모든 필드는 규칙 메서드 반환 시 키-값 쌍으로 작성되어야 합니다.

    public function rules()
    {
        return [
            'name' => 'required|max:100',
            'introduction' => 'required|max:255',
            'location' => 'nullable',
            'cost' => 'required|integer'
        ];
    }


3단계: 오류 메시지 작성



Laravel이 일련의 오류 메시지를 제공했기 때문에 이것은 선택 사항입니다. 그러나 각 오류에 대해 오류 메시지를 작성하도록 결정할 수 있습니다.
message()라는 메서드를 만들고 오류 메시지 배열을 반환합니다.

    public function messages()
    {
        return [
            'name.required' => 'You need to provide the name of the project',
            'name.max' => 'The name of the project should not be greater than 100 characters',
            'introduction.required' => 'Please provide the introduction of the project',
            'cost.integer' => 'The cost of the project must be a number'
        ];
    }


이제 StoreProjectRequest는 다음과 같이 표시됩니다.

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



이제 컨트롤러로 이동하고 유효성을 검사하려는 저장소 메서드로 이동한 다음 일반적인 요청을 대체하는 StoreProjectRequest를 입력 힌트합니다.

   public function store(StoreProjectRequest $request)
    {
        $request->validated();

        Project::create($request->all());

        return redirect()->route('projects.index')
            ->with('success', 'Project created successfully.');
    }


다음과 같이 검증된 요청을 검색할 수 있습니다.

$validated = $request->validated();



그래서 이렇게 사용하시면 됩니다

$projectName = $validated["name"];



오류가 있는 경우 오류는 오류 백에 저장되고 세션의 보기 또는 저장소로 다시 전송됩니다.

테스트



앱을 실행하고 페이지 만들기로 이동합니다.

유효성 검사 규칙을 위반하는 값이 포함된 양식을 제출하고 제출을 시도하십시오.


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

시간 내 주셔서 감사합니다

좋은 웹페이지 즐겨찾기