[Laravel] 表單必填欄位驗證 + 錯誤訊息區塊

有些時候我們的表單上會有設定必填區塊
如果使用者空白跳跳出提示訊息,在Laravel 中又要怎麼實做呢?

我們可以用最基本的 HTML5 tag

required="required"

但是某些比較舊型的瀏覽器並不支援這個方法
我們可以在上次的 store function 寫入資料庫前加入

$this->validate(\request(),[
    'title' => 'required|max:10',
    'body' => 'required'
]);

他會驗證欄位,若是不合法,則會重新導向 form 表單所在的頁面
也可以加入其他規則,像是我就給 title 最大值為10個字元

接下來為了讓錯誤訊息在頁面上顯示
我們先新增一個檔案 resources/views/layout/errors.blade.php

@if( count($errors))
    <div class="alert alert-danger">
        <ul>
            @foreach( $errors->all() as $error)
               <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

為了是之後如果有用到錯誤訊息,不用重寫
另外我們可以看到有個 if 條件,如果有錯誤訊息才會顯示提示區塊
然後把錯誤用 foreach 列到畫面上

現在然後記得使用

@include('layouts.errors')

來把錯誤提示區塊給引入我們的畫面中指定位置
不然怎麼會動呢?

以上就是最簡單的表單驗證和錯誤訊息區塊的作法



留言