API Form Requests: Clean Validation for JSON APIs
Use Form Requests to validate API input cleanly and return proper JSON errors.
Olivia Carter
October 2, 2025
3.3k113
For APIs, validation is still required, but you want errors returned as JSON.
Form Requests keep your API controllers clean.
## Create request
```bash
php artisan make:request StorePostApiRequest
```
## Rules
```php
public function rules(): array {
return [
'title' => 'required|min:3',
'body' => 'required|min:10',
];
}
```
## Controller
```php
public function store(StorePostApiRequest $request) {
$post = Post::create($request->validated());
return response()->json($post, 201);
}
```
## Flow
```mermaid
flowchart LR
A[Request] --> B[Form Request]
B --> C{Valid?}
C -->|Yes| D[Controller]
C -->|No| E[422 JSON Errors]
```
In the next tutorial, we will implement database backups and safe recovery practices.
#Laravel#API#Validation#Advanced