Laravel 5.1 프레임 워 크 폼 검증 작업 사례 상세 설명

6902 단어 Laravel5.1폼 검증
본 논문 의 사례 는 Laravel 5.1 프레임 워 크 폼 검증 작업 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
양식 을 제출 할 때 제출 한 데 이 터 를 검증 합 니 다.Laravel 은 Controller 류 에서 traint:Validates Request 를 사 용 했 습 니 다.우리 가 컨트롤 러 에서 검증 기 를 사용 하 는 것 을 편리 하 게 하 다.
다음은 검증 표 의 예 를 살 펴 보 겠 습 니 다.
준비
1.1 생 성 루트

Route::resource('/post', 'PostController');

1.2 컨트롤 러 생 성

php artisan make:controller PostController

1.3 보기 만 들 기
/views 에/post/create.blade.php 파일 을 만 들 고 다음 과 같이 작성 합 니 다.

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" >
</head>
<body>
<div class="container">
  <div class="row">
    <div class="col-md-8 col-md-offset-2">
      <div class="panel panel-default">
        <div class="panel-heading">
              
        </div>
        <div class="panel-body">
          <form action="{{ url("/post") }}" method="POST" class="form-horizontal">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
            <div class="form-group">
              <label class="col-md-4 control-label">  </label>
              <div class="col-md-6">
                <input type="text" class="form-control" name="title">
              </div>
            </div>
            <div class="form-group">
              <label class="col-md-4 control-label">  </label>
              <div class="col-md-6">
                <textarea rows="10" class="form-control" name="content"></textarea>
              </div>
            </div>
            <div class="form-group">
              <div class="col-md-6 col-md-offset-4">
                <button class="btn btn-primary" type="submit">Submit</button>
              </div>
            </div>
          </form>
        </div>
      </div>
    </div>
  </div>
</div>
</body>
</html>

1.4 PostController 에서 create 보 기 를 되 돌려 줍 니 다.

public function create()
{
    return view('post.create');
}

2 검증 시작
2.1 validate
저 희 는 store 방법 에서 폼 이 제출 한 데 이 터 를 검증 합 니 다.문법 은 다음 과 같 습 니 다.
validate()인자:
  • request:요청 을 전달 하면 됩 니 다
  • 4.567917.rule:규칙 배열,우리 의 검증 논 리 를 여기에 쓰 세 요
    
    public function store(Request $request)
    {
        $this->validate($request, [
          'title' => 'required|min:3',
          'content' => 'required|min:10',
        ]);
        echo '    ';
    }
    ↑위의 예 에서 인증 이 통과 되면'검증 통과'가 표 시 됩 니 다.인증 이 통과 되 지 않 으 면 Laravel 은 자동 으로 폼 제출 페이지 로 이동 하여 오류 정 보 를 Session 에 플래시 저장 합 니 다.create.balde.php 파일 을 수정 하여 오류 코드 를 추가 할 수 있 습 니 다.
    2.2 오류 정보 표시
    
    <!DOCTYPE html>
    <html>
    <head>
      <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" >
    </head>
    <body>
    <div class="container">
      <div class="row">
        <div class="col-md-8 col-md-offset-2">
          <div class="panel panel-default">
            <div class="panel-heading">
                  
            </div>
            <div class="panel-body">
              @if (count($errors) > 0)
                <div class="alert alert-danger">
                  <ul>
                    @foreach ($errors->all() as $error)
                      <li>{{ $error }}</li>
                    @endforeach
                  </ul>
                </div>
              @endif
              <form action="{{ url("/post") }}" method="POST" class="form-horizontal">
                <input type="hidden" name="_token" value="{{ csrf_token() }}">
                <div class="form-group">
                  <label class="col-md-4 control-label">  </label>
                  <div class="col-md-6">
                    <input type="text" class="form-control" name="title">
                  </div>
                </div>
                <div class="form-group">
                  <label class="col-md-4 control-label">  </label>
                  <div class="col-md-6">
                    <textarea rows="10" class="form-control" name="content"></textarea>
                  </div>
                </div>
                <div class="form-group">
                  <div class="col-md-6 col-md-offset-4">
                    <button class="btn btn-primary" type="submit">Submit</button>
                  </div>
                </div>
              </form>
            </div>
          </div>
        </div>
      </div>
    </div>
    </body>
    </html>
    3 수 동 으로 Validator 만 들 기
    
      public function store(Request $request)
      {
    //    $this->validate($request, [
    //      'title' => 'required|min:3',
    //      'content' => 'required|min:10',
    //    ]);
        $validator = Validator::make($request->all(), [
          'title' => 'required|min:3',
          'content' => 'required|min:10',
        ]);
        if ($validator->fails()) {
          return redirect('post/create')
            ->withErrors($validator)
            ->withInput();
        }
        echo '    ';
      }
    
    
    Laravel 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
    본 고 는 Laravel 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

    좋은 웹페이지 즐겨찾기