Mastering Laravel 12 Conditional Validation

July 7, 2025

Mastering Laravel 12 Conditional Validation

Laravel 12's validation system is super powerful, and conditional validation makes your forms smarter. With it, you can enforce rules based on other field values. For example, requiring a “company_name” field only if “employment_status” is “employed”, or a “credit_card_number” only when payment method is “credit_card”. This adds flexibility and improves user experience.

🔍 Why use conditional validation?

  • Fields might not always be required.
  • Makes forms dynamic and avoids unnecessary input.
  • Perfect for multi-step forms or building smart APIs.

🛠 Laravel 12 tools for conditional validation

  • required_if
  • required_with
  • Rule::when()

1. Practical example with required_if

// In your Controller:
$request->validate([
  'employment_status' => 'required|in:employed,unemployed',
  'company_name' => 'required_if:employment_status,employed',
]);

If “employment_status” is “employed”, then “company_name” becomes mandatory.

2. Example using required_with

// In your Controller:
$request->validate([
  'shipping_address' => 'required_with:delivery_method',
  'delivery_method' => 'nullable|in:pickup,delivery',
]);

If the user picks a delivery method, the shipping address must be provided.

3. Example using Rule::when()


use Illuminate\Validation\Rule;

$request->validate([
  'payment_method' => 'required|in:credit_card,paypal',
  'credit_card_number' => [
    Rule::when($request->input('payment_method') === 'credit_card', ['required', 'numeric', 'digits:16']),
  ],
]);

When payment method is “credit_card”, the number field must be a 16-digit number.

📌 Pro tips

  • Move validation logic to a FormRequest class for cleaner controllers.
  • Use helper methods like sometimes() or bail() for better rule control.
  • Write tests to confirm your validation works under various scenarios.

📚 Quick wrap‑up

Conditional validation makes forms intelligent and context-aware. Laravel 12 gives you multiple approaches, and with practical examples, you can pick the one that fits your needs most.

The Ultimate Managed Hosting Platform