I have from in Laravel and I try to get validate it and see errors for each input, I already loop through $error->all()
but I need to show the errors of each input under it and I use this code $errors->has('password')
to show input have an error but I need to show message too.
I get print_r($errors)
and It return this:
IlluminateSupportViewErrorBag Object
(
[bags:protected] => Array
(
[default] => IlluminateSupportMessageBag Object
(
[messages:protected] => Array
(
[firstName] => Array
(
[0] => The first name field is required.
)
[lastName] => Array
(
[0] => The last name field is required.
)
[email] => Array
(
[0] => The email must be a valid email address.
[1] => The email field is required.
)
[password] => Array
(
[0] => The password field is required.
)
[password_confirmation] => Array
(
[0] => The password confirmation field is required.
)
)
[format:protected] => :message
)
)
)
My problem is I can’t how can access the messages?
Advertisement
Answer
AS per Laravel Documentation you can use @error
directive to achieve the same
The
$errors
variable is bound to the view by theIlluminateViewMiddlewareShareErrorsFromSession middleware
, which is provided by the webmiddleware
group. When this middleware is applied an $errors variable will always be available in your views, allowing you to conveniently assume the $errors variable is always defined and can be safely used.
for e.g
<label for="title">Post Title</label>
<input id="title" type="text" class="@error('title') is-invalid @enderror">
@error('title')
<div class="alert alert-danger">{{ $message }}</div>
@enderror