LaravelLaravel19 min read

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