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!');