LaravelLaravel17 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
Oct 4, 2025
15.3k629

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