## **簡介**
表單驗證是我們每天都需要使用的功能之一。
**1.編寫驗證邏輯**
我們假設有一個用戶在添加一篇文章,
```
public function store(Request $request){
$validatedData = $request->validate([
'title' => 'required|unique:posts|max:255'
]);
// 驗證通過,存儲到數據庫...
}
或使用
public function store(Request $request){
$this->validate($request, [
'title' => 'required|unique:posts|max:255'
]);
// 驗證通過,存儲到數據庫...
}
```
我們驗證了文章標題不能為空、不能重復、最大長度不能超過255個字符
如果發生錯誤在模板中可輸出
```
@if ($errors->any())
@foreach ($errors->all() as $error)
<div>{{ $error }}</div>
@endforeach
@endif
```
**2.AJAX 請求 & 驗證**
我們在實際應用中會經常使用到ajax進行表單提交,下面我們看開一下ajax的驗證
使用命令行創建驗證器
```
php artisan make:request UserRequest
```
于是就生成了app/Http/Requests/UserRequest.php
但是我們使用了laravel-modules模塊化開發,可以使用命令
我們可以看出我們只是將make:request改為了module:make-request并在最后加上了模塊名(laravel和laravel-modules的規律)
```
php artisan module:make-request AdminRequest Admin
```

在這里我其實更喜歡AdminRequest 改為Admin,因為我們在tp5中這樣使用,但是我并不建議,還是那句話,我們在學習新的框架是不能受老習慣的影響。