1: Set Up Validation in the Controller:
validate() method in your controller to validate incoming data.Example:
public function submitForm(Request $request)
{
$request->validate([
'name' => 'required|max:255',
'email' => 'required|email',
]);
}
2: Understand Common Validation Rules:
required: Ensures the field is not empty.max:{value}: Limits the maximum value (e.g., text length).min:{value}: Sets a minimum value or length.email: Validates the field as an email address.unique:{table}: Ensures the field value is unique in the specified database table.Example:
$request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users,email',
]);
3: Handling Validation Errors:
@if($errors->any()) in the Blade view to display error messages.Example:
@if($errors->any())
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
4: Customizing Error Messages (Optional):
validate().Example:
$request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users,email',
], [
'name.required' => 'Please enter your name.',
'email.unique' => 'The email address is already registered.',
]);
5: Redirecting After Successful Validation:
Example:
return redirect()->route('formPage')->with('success', 'Form submitted successfully!');