Form Handling and Validation

📘 Laravel 👁 52 views 📅 Dec 22, 2025
⏱ Estimated reading time: 2 min

Form handling and validation in Laravel allow developers to securely collect, process, and validate user input. Laravel provides simple tools to manage forms, protect against security threats, and ensure data integrity.


1. Creating a Form

Forms are usually created in Blade views.

Example form:

<form action="{{ route('store.user') }}" method="POST"> @csrf <input type="text" name="name" placeholder="Name"> <input type="email" name="email" placeholder="Email"> <button type="submit">Submit</button> </form>
  • @csrf protects against Cross-Site Request Forgery attacks

  • method="POST" sends form data securely


2. Defining Form Routes

In routes/web.php:

Route::post('/user/store', [UserController::class, 'store'])->name('store.user');

3. Handling Form Data in Controllers

Example controller method:

use Illuminate\Http\Request; public function store(Request $request) { $name = $request->input('name'); $email = $request->input('email'); return "Name: $name, Email: $email"; }

4. Validation in Laravel

Laravel provides built-in validation methods to check user input before processing it.


5. Basic Validation Example

public function store(Request $request) { $request->validate([ 'name' => 'required|min:3', 'email' => 'required|email', ]); return "Validation Passed"; }

If validation fails:

  • User is redirected back

  • Errors are automatically stored in $errors


6. Displaying Validation Errors in Views

@if ($errors->any())
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif

7. Old Input Values

Laravel keeps old input values after validation errors:

<input type="text" name="name" value="{{ old('name') }}">

8. Validation Rules

Common validation rules include:

  • required

  • email

  • min, max

  • numeric

  • confirmed

  • unique:table,column

Example:

'password' => 'required|min:8|confirmed'

9. Form Request Validation

For cleaner controllers, Laravel supports Form Request classes.

Create a request:

php artisan make:request StoreUserRequest

Example:

public function rules() { return [ 'name' => 'required', 'email' => 'required|email', ]; }

Use in controller:

public function store(StoreUserRequest $request) { return "Validated"; }

10. Handling File Uploads

<form method="POST" enctype="multipart/form-data">

Controller:

$request->file('image')->store('uploads');

Conclusion

Laravel simplifies form handling and validation with built-in protection, clear validation rules, and automatic error handling. These features help developers build secure, user-friendly forms while keeping application logic clean and maintainable.


🔒 Some advanced sections are available for Registered Members
Register Now

Share this Post


← Back to Tutorials

Popular Competitive Exam Quizzes