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

需要登入才可留言!

類似的文章


laravel-storage,sftp

用Laravel的Storage SFTP Drvier進行遠端檔案上傳

為何我把網站的搞前後台分離,我的想法很簡單,就是靠一套後台管控所有前台的網站資料。假設前台的網站為單純的行銷網站,那不外乎主題內容,就是上上文章那種,沒有什麼特別複雜的邏輯。所以後台的資料庫設記好連不同的前台就好了,那還剩最後一個問題,我的後台HTML編輯器如何貼圖直接貼文到前台呢?Laravel的Storage SFT Driver就是很好的解藥。

dlaravel

如何透過getssl自動檢測及更新let's encrypt發出的憑證

let's encrypt提供免費的憑證真的很棒,不過,三個月要更新一次憑證是不是有點麻煩, 本文介紹,如何透過getssl,產生多域名的SAN憑證設定,放入排程自動進行憑證更新。 非常簡單哦,六個步驟即可搞定。

laravel

Laravel上的表單方法欺騙

為何Laravel需要有Form Method Spoofing呢? 因為HTML表單並不支援PUT、PATCH及DELETE等動作,因此在Laravel上 在提交HTML表單送出時,我們需要透過一個隱藏的_method輸入欄,作為HTTP的請求發送。