Featured image of post Day 25. Validation

Day 25. Validation

資源

Laravel7 30天: 目錄
專案連結: github - laravel7 之 30 天分享

前言

專案連結: github - laravel7 之 30 天分享

上一篇: Day 24. 實作 TODO 練習 下篇:畫面及功能

上篇實作了 ToDo 的一些簡單功能及頁面, 接著我們來說『驗證』

主要

文件

Laravel 的驗證真的滿方便的,
可以參考規則
這些規則都可以設定驗證

驗證失敗的時候就會導回去前面那一頁,
這時候就可以跟 old() 搭配保留原本的值,

快速上手

如我們範例 TODO 只需要驗證一個 title 為必填 可以再表單送出的那刻加上驗證,
失敗的話就會導回去前面那頁的表單,

檔案: app/Http/Controllers/TaskController.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
    public function store(Request $request)
    {
        // 加這個 !!!
        Validator::make($request->all(), [
            'title' => 'required'
        ])->validate();
        
        Auth::user()->tasks()->create([
            'title' => $request->title
        ]);
        
        return redirect()->route('tasks.index');   
    }

而我們要如何接收值呢? 驗證失敗的時候我們都會接收到一個 $errors 參數
如以下範例

檔案: resources/views/tasks/create.blade.php

1
2
3
4
5
6
7
@if ($errors->has('title'))
    @foreach ($errors->get('title') as $message)
        <div style="color:red;">
            {{ $message }}
        </div>
    @endforeach
@endif

範例

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy