"Laravel 유효성 검증"의 두 판 사이의 차이

13번째 줄: 13번째 줄:


==유효성 검증 빠른 시작==
==유효성 검증 빠른 시작==
Laravel의 강력한 유효성 검사 기능을 배우기 위해, 폼을 검증하고 사용자에게 오류 메시지를 표시하는 전체 예제를 살펴보겠습니다. 이 고수준 개요를 통해 Laravel을 사용하여 들어오는 요청 데이터를 검증하는 방법에 대한 좋은 일반적인 이해를 얻을 수 있을 것입니다:
===라우트 정의===
===라우트 정의===
먼저, <code>routes/web.php</code> 파일에 다음과 같은 라우트가 정의되어 있다고 가정해 보겠습니다:
<syntaxhighlight lang='php'>
use App\Http\Controllers\PostController;
Route::get('/post/create', [PostController::class, 'create']);
Route::post('/post', [PostController::class, 'store']);
</syntaxhighlight>
<code>GET</code> 라우트는 사용자가 새로운 블로그 포스트를 작성할 수 있는 폼을 표시하고, <code>POST</code> 라우트는 새로운 블로그 포스트를 데이터베이스에 저장합니다.
===컨트롤러 생성===
===컨트롤러 생성===
다음으로, 이러한 경로로 들어오는 요청을 처리하는 간단한 컨트롤러를 살펴보겠습니다. <code>store</code> 메소드는 아직 비워둡니다:
<syntaxhighlight lang='php'>
<?php
namespace App\Http\Controllers;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
class PostController extends Controller
{
    /**
    * 새 블로그 게시물을 작성하는 폼을 보여줍니다.
    */
    public function create(): View
    {
        return view('post.create');
    }
    /**
    * 새 블로그 게시물을 저장합니다.
    */
    public function store(Request $request): RedirectResponse
    {
        // 블로그 게시물을 검증하고 저장합니다...
        $post = /** ... */
        return to_route('post.show', ['post' => $post->id]);
    }
}
</syntaxhighlight>
===유효성 검증 로직 작성===
===유효성 검증 로직 작성===
===유효성 검증 오류 표시===
===유효성 검증 오류 표시===

2024년 6월 19일 (수) 01:41 판

1 개요

Laravel Validation
라라벨 밸리데이션, 유효성 검증, 유효성 검사

https://laravel.com/docs/11.x/validation

Crystal Clear action info.png 작성 중인 문서입니다.


2 소개

Laravel은 애플리케이션으로 들어오는 데이터를 검증하기 위해 여러 가지 접근 방식을 제공합니다. 가장 일반적으로는 모든 들어오는 HTTP 요청에서 사용할 수 있는 validate 메소드를 사용하는 방법이 있습니다. 그러나 여기서는 다른 검증 접근 방식들도 함께 논의할 것입니다.

Laravel은 데이터에 적용할 수 있는 다양한 편리한 검증 규칙을 포함하고 있으며, 특정 데이터베이스 테이블에서 값이 고유한지 검증할 수 있는 기능도 제공합니다. Laravel의 모든 검증 기능에 익숙해질 수 있도록 각 검증 규칙을 자세히 다룰 것입니다.

3 유효성 검증 빠른 시작

Laravel의 강력한 유효성 검사 기능을 배우기 위해, 폼을 검증하고 사용자에게 오류 메시지를 표시하는 전체 예제를 살펴보겠습니다. 이 고수준 개요를 통해 Laravel을 사용하여 들어오는 요청 데이터를 검증하는 방법에 대한 좋은 일반적인 이해를 얻을 수 있을 것입니다:

3.1 라우트 정의

먼저, routes/web.php 파일에 다음과 같은 라우트가 정의되어 있다고 가정해 보겠습니다:

use App\Http\Controllers\PostController;
 
Route::get('/post/create', [PostController::class, 'create']);
Route::post('/post', [PostController::class, 'store']);

GET 라우트는 사용자가 새로운 블로그 포스트를 작성할 수 있는 폼을 표시하고, POST 라우트는 새로운 블로그 포스트를 데이터베이스에 저장합니다.

3.2 컨트롤러 생성

다음으로, 이러한 경로로 들어오는 요청을 처리하는 간단한 컨트롤러를 살펴보겠습니다. store 메소드는 아직 비워둡니다:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;

class PostController extends Controller
{
    /**
     * 새 블로그 게시물을 작성하는 폼을 보여줍니다.
     */
    public function create(): View
    {
        return view('post.create');
    }

    /**
     * 새 블로그 게시물을 저장합니다.
     */
    public function store(Request $request): RedirectResponse
    {
        // 블로그 게시물을 검증하고 저장합니다...

        $post = /** ... */

        return to_route('post.show', ['post' => $post->id]);
    }
}

3.3 유효성 검증 로직 작성

3.4 유효성 검증 오류 표시

3.5 폼 다시 채우기

3.6 선택적 필드 참고사항

3.7 유효성 검증 오류 응답 형식

4 폼 요청 유효성 검증

4.1 폼 요청 생성

4.2 폼 요청 인가

4.3 오류 메시지 커스터마이징

4.4 유효성 검증 입력 준비

5 수동 유효성 검증기 생성

5.1 자동 리디렉션

5.2 명명된 오류 백

5.3 오류 메시지 커스터마이징

5.4 추가 유효성 검증 수행

6 유효성 검증된 입력 다루기

7 오류 메시지 다루기

7.1 언어 파일에서 사용자 정의 메시지 지정

7.2 언어 파일에서 속성 지정

7.3 언어 파일에서 값 지정

8 사용가능한 유효성 검증 규칙

9 조건부 규칙 추가

10 배열 유효성 검증

10.1 중첩 배열 입력 유효성 검증

10.2 오류 메시지 인덱스 및 위치

11 파일 유효성 검증

12 패스워드 유효성 검증

13 커스텀 유효성 검증 규칙

13.1 규칙 객체 사용

13.2 클로저 사용

13.3 암시적 규칙

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}