錯誤訊息

自定義錯誤訊息

/resources/lang/[lang]/validation.php 檔案包含驗證器要使用的錯誤訊息。你可以根據需要進行編輯。

它們中的大多數都有佔位符,在生成錯誤訊息時會自動替換它們。

例如,在'required' => 'The :attribute field is required.'中,:attribute 佔位符將替換為欄位名稱(或者,你也可以在同一檔案中自定義 attributes 陣列中每個欄位的顯示值)。

訊息配置:

'required' => 'Please inform your :attribute.',
//...
'attributes => [
    'email' => 'E-Mail address'
]

規則:

`email' => `required`

結果錯誤訊息:

“請通知你的電子郵件地址。”

自定義 Request 類中的錯誤訊息

Request 類可以訪問 messages() 方法,該方法應該返回一個陣列,這可以用來覆蓋訊息而不必進入 lang 檔案。例如,如果我們有自定義 file_exists 驗證,你可以使用以下訊息。

class SampleRequest extends Request {

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'image' =>  'required|file_exists'
        ];
    }

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    public function messages()
    {
        return [
            'image.file_exists' =>  'That file no longer exists or is invalid'
        ];
    }

}

顯示錯誤訊息

驗證錯誤會閃現到會話中,並且也可以在 $errors 變數中使用,該變數會自動共享給所有檢視。

在 Blade 檢視中顯示錯誤的示例:

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