Laravel Validation 表單驗證
Laravel提供的表單驗證實在是太方便了,
用過之後會覺得之後如果開發沒有Laravel怎麼辦xDD
其實官方文件就很詳細了
我在這邊給自己筆記一下
處理錯誤訊息
呼叫一個 Validator
實例的 errors
方法,會得到一個 Illuminate\Support\MessageBag
的實例,裡面有許多方便的方法讓你操作錯誤訊息。
1.建立一個驗證方法
php artisan make:request MyRequest
新的方法就會產生在 app/Http/Requests 底下
2.來撰寫規則吧
public function rules()
{
return [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
];
}
自訂錯誤訊息
public function messages()
{
return [
'required' => ':attribute 的欄位是必要的。',
'max' => ':attribute 的欄位字數不超過 :max字元。',
];
}
自訂錯誤欄位實際名稱
public function attributes()
{
return [
'title' = '標題',
'body' = '訊息',
];
}
}
最後輸出-取得所有錯誤訊息
protected function formatErrors(Validator $validator)
{
$errorMessages = '';
//這邊為一個錯誤訊息最後配一個<br/>
foreach ($validator->messages()->all(':message<br>') as $message) {
$errorMessages .= $message;
}
return $errorMessages;
}
那寫好的方法要怎麼拿來用呢??
在Controller 的function
public function store(MyRequest $request)
{
//過了驗證才會繼續跑~
}
凡是客製化都比較困難一點,所以筆記一下。
Laravel 提供很多驗證方法 這還只是一小部分呢!