Laravel 的驗證功能蠻強大的,但一般的Example在寫時都沒有標示如何顯示自訂欄位名稱
導致在檢核欄位失敗要出現錯誤警訊時,只會顯示html 表單變數名稱,其實 Laravel的驗證模組就有包含這部份的設定了,只是在官網上似乎也沒有多做什麼說明,查了一下,使用上非常容易,只是大多的參考文件都是在強調如何設定自定的錯誤訊息,而非自定欄位名稱
好,那我們來看看要如何設定,如果使用$this->validate進行驗證,則範例如下:
$this->validate($request, [
'info' => 'required',
'data' => 'required',
], ['required' => '這是必填喔'],
[
'info' => '參考資訊',
'data' => '資料',
]
);
第一個參數傳入 request, 第二個傳入驗證欄位及驗證規則,第三個參數為自定義顯示錯誤,第四個參數就是自定義欄位名稱,就是這麼簡單,不過也花了不少時間去查
如果是使用Validator::make,可以使用setAttributeNames 進行設定,範例如下:
$niceNames = array(
'info' => '參考資訊',
'data' => '資料',
);
$validator = Validator::make(Input::all(), $rules);
$validator->setAttributeNames($niceNames);
參考連結:
https://segmentfault.com/q/1010000011839409
https://laravel.tw/docs/master/validation
http://blog.tonycube.com/2015/01/laravel-14-form.html
https://www.ccc.tc/article/laravel-validator-custom-crror-messages