Form Handling and Validation

Laravel 239 views Dec 22, 2025 2 min read

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
Share this Post
🚀 Want to Test Your Knowledge?

Take quizzes related to this topic and see where you stand!

Start Quiz Now
Back to Tutorials