이 작업은 컨트롤러에서 소스를 빼내어 Requests\ArticlesRequest.php 로 대체한다는 개념이다. 

컨트롤러 소스가 간단해진다. 즉 컨트롤러에서 ArticlesRequest.php 를 인서트한다고 생각하자.


일단 블레이드 폼을 만들자. 여긴 알아서...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
@extends('master')
 
@section('content')
 
<h1>보드명 작성</h1>
<form class="ui form" method="POST" action="/boardnames">
    @csrf
    <div class="field">
        <input class="input {{ $errors->has('title') ? 'is-danger' : '' }}" type="text" name="board_name" value="{{ old('title') }}" placeholder="보드명">
    </div>    
 
    <div class="field">
    <input class="input {{ $errors->has('top_num') ? 'is-danger' : '' }}" type="number" name="top_num" value="{{ old('top_num') }}" placeholder="Top부품수량">
    </div>    
 
    <div class="field">
    <input class="input {{ $errors->has('bot_num') ? 'is-danger' : '' }}" type="number" name="bot_num" value="{{ old('bot_num') }}" placeholder="Bot부품수량">
    </div>
 
    <div class="field">
    <input class="input {{ $errors->has('unit') ? 'is-danger' : '' }}" type="text" name="unit" value="{{ old('unit') }}" placeholder="차종">
    </div>
 
    <div class="field">
    <input class="input {{ $errors->has('note') ? 'is-danger' : '' }}" type="text" name="note" value="{{ old('unit') }}" placeholder="메모">
    </div>
    
 
 
    <div class="field">
        <button class="ui button" type="submit">글 작성</button>
    </div>
</form>
 
@if($errors->any())
<div class="ui pink inverted segment">
 
    <ul>    
        @foreach ($errors->all() as $error)
        <li>{{$error}}</li>
        @endforeach
    </ul>
</div>    
 
@endif    
 
@foreach ($boardnames as $boardname)
    {!! $boardname->board_name.'<br>' !!}
@endforeach
 
 
@endsection
cs




리퀘스트 만들기

1
php artisan make:request BoardNameRequest
cs


app/http/Controllers/Requests/BoardNameRequest.php 파일이 생성된다. 이 파일을 열자

rules(){ } , messages(){ } 메서드를 작성한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
 
namespace App\Http\Requests;
 
use Illuminate\Foundation\Http\FormRequest;
 
class BoardNameRequest 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 [
            'board_name' => 'required',
            'top_num' => 'required',
            'bot_num' => 'required',
            'unit' => 'required',
        ];
    }
 
    public function messages()
    {
        return [
            'board_name.required' => '시작 번호는 필수 입력 항목입니다.',
            'top_num.required' => 'Top 부품 수량 필수 입력 항목입니다.',
            'bot_num.required' => 'Bot 부품 수량 입력 항목입니다.',
            'unit.required' => '차종 필수 입력 항목입니다.',
        ];
    }
}
 
cs


그다음 BoardNamesController.php 파일을 열어서 상단에 아래소스를 추가

1
use App\Http\Requests\BoardNameRequest;
cs


그리고 메서드에 인자로 넘겨줘야한다. BoardNameRequest

1
public function store(BoardNameRequest $request)
cs


실행해보면 아래와 같이 입력을 하지 않으면 에러메시지가 나온다.


'라라벨 > 유효성검사' 카테고리의 다른 글

입력값 유효성 검사  (0) 2019.04.19

+ Recent posts