by Devin Yang

建立於: 7年前 ( 更新: 7年前 )

我們通常開發Laravel時,有時會進行欄位驗證,但使用Validator預設的訊息是英文的。
但當然想要有更精確顯示中文訊息顯示,
本文介紹,我如何使用Laravel的Validator自訂中文的訊息。

一、首先,在Controller上先匯入Validator

二、Validator可以接受三個欄位,第三個就是自訂的錯誤訊息啦...
詳見,官網Custom Error Messages部份:

https://laravel.com/docs/5.5/validation#customizing-the-error-messages

$validator = Validator::make($input, $rules, $messages);可以收三個參數:
第一個輸入:   表單傳進來的值$request->all()。
第二個規則:   欄位的規則,例如這裡,我username是required必填並且需為alpha。
第三個訊息:   本文重點,自訂的錯誤訊息。

下圖抓我程式中的原始碼:

所以$validator->fails()驗證失敗時,即可導回表單頁面/meeting。
如果沒有驗證失敗,就會呼叫Api,傳入使用者填寫的username名稱,取得進入的網址。


三、在表單blade頁面的程式碼中。
$errors->count()查看是否有錯誤,
使用foreach循環不同的錯誤,
​​​​​​​因為可能有多個欄位多種錯誤,{{$error}}則是錯誤的原因。

測試

四、壓了「進入」鈕未填寫名稱時,即可出現請填寫名稱的中文訊息囉。

五、如果只填入1234,壓「進入」鈕,就會出現請勿填寫數字的訊息囉。

Demo

Tags: laravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

D-laravel已加入建議的opcache.ini設定了

最新版本的D-Laravel已加入opcache的建議設定了。 啟用方式非常簡單,請在D-Laravel目錄下執行即可。

d-laravel, docker, laravel, docker-compose

D-Laravel v1.0.0 release變更說明

為了讓container可以被更靈活運用,D-Laravel釋出v1.0.0版了,此版本為不向下相容變更。 https://github.com/DevinY/dlaravel/releases/tag/v1.0.0 如果您使用為 v1.0.0 之前,您需修改Laravel專案的.env檔,DB_HOST=127.0.0.1變更為DB_HOST=db 如果您有自訂的docker-compose-custom.yml檔....more

laravel,livewire

livewire重要筆記

在開始您的 Livewire 之旅之前,以下是關於公開屬性(public properities)的三項基本注意事項:一、屬性名稱不能與為 Livewire 保留的屬性名稱衝突(例如$rules或$message)二、儲存在公開屬性(public properities)中的資料,對前端 JavaScript 是可見的。因此,您不應在其中儲存敏感資料。三、屬性只能是 JavaScript 友好的資料類型(字符串、整數、數組、布爾值),或以下 PHP 類型之一:Stringable、Collection、DateTime、Model、EloquentCollection。