0
0
Laravelframework~8 mins

Form request classes in Laravel - Performance & Optimization

Choose your learning style9 modes available
Performance: Form request classes
MEDIUM IMPACT
Form request classes affect server-side validation and request handling speed, indirectly impacting perceived responsiveness.
Validating user input in a Laravel application
Laravel
<?php
// Form request class
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreUserRequest extends FormRequest {
  public function rules() {
    return [
      'name' => 'required|string|max:255',
      'email' => 'required|email|unique:users',
    ];
  }
}

// Controller method
public function store(StoreUserRequest $request) {
  // validated data available
  // store logic
}
Centralizes validation logic in a dedicated class, improving code reuse and enabling Laravel to optimize request lifecycle.
📈 Performance GainReduces redundant validation code execution and improves server response consistency.
Validating user input in a Laravel application
Laravel
<?php
// Controller method with inline validation
public function store(Request $request) {
  $validated = $request->validate([
    'name' => 'required|string|max:255',
    'email' => 'required|email|unique:users',
  ]);
  // store logic
}
Inline validation in controllers duplicates code and mixes concerns, increasing maintenance and potential for inconsistent validation.
📉 Performance CostAdds server processing overhead due to repeated validation logic and harder caching of validation rules.
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Inline validation in controller0 (server-side only)00[OK]
Validation via form request class0 (server-side only)00[OK] Good
Rendering Pipeline
Form request classes run on the server before rendering any response, affecting server processing time but not client rendering directly.
Server Request Handling
Validation
Controller Execution
⚠️ BottleneckServer Request Handling due to validation logic execution
Core Web Vital Affected
INP
Form request classes affect server-side validation and request handling speed, indirectly impacting perceived responsiveness.
Optimization Tips
1Use form request classes to centralize and reuse validation logic.
2Avoid inline validation in controllers to reduce redundant server processing.
3Form request classes improve server response consistency, benefiting interaction responsiveness.
Performance Quiz - 3 Questions
Test your performance knowledge
How do form request classes in Laravel impact page load speed?
AThey improve server response consistency, indirectly improving interaction responsiveness.
BThey reduce browser rendering time by optimizing CSS.
CThey decrease DOM nodes on the client side.
DThey directly reduce JavaScript execution time in the browser.
DevTools: Network
How to check: Open DevTools, go to Network tab, submit form, and check server response time for validation requests.
What to look for: Look for faster server response times and consistent validation error responses indicating efficient validation handling.