4

Here is my laravel validation

$validation = Validator::make($request->all(), [
            'template_id' => 'required',
            'email' => ['required', 'email', 'unique:user,email'],
            'first_name' => 'required',
            'last_name' => 'required',
        ]);

If i print $validation->messages() i am getting below

Illuminate\Support\MessageBag Object
(
    [messages:protected] => Array
        (
            [template_id] => Array
                (
                    [0] => The template id field is required.
                )

            [first_name] => Array
                (
                    [0] => The first name field is required.
                )

        )

    [format:protected] => :message
)

But I want like below

Array
(
    [0] => The template id field is required.
    [1] => The first name field is required.
)

There is the specific use of that so needs this Thank you in advance

3 Answers 3

3

You could try asking the MessageBag for all the messages:

$validation->messages()->all()
Sign up to request clarification or add additional context in comments.

Comments

1

You can use getMessageBag method present in validator class.

 $validation->getMessageBag()->first();

Also you can set custom error messages like below:

if(User::where('email', $email)->first())
{
    $validator->getMessageBag()->add('password', 'Please enter correct Password');
}
else
{
    $validator->getMessageBag()->add('email', 'Email does not exists');
}

Comments

0
$validation = Validator::make($request->all(), [
            'template_id' => 'required',
            'email' => ['required', 'email', 'unique:user,email'],
            'first_name' => 'required',
            'last_name' => 'required',
        ]);

if you want all errors same time you just write code like

$validation->messages()->all()

or if you want one by one error so write code like

$validation->messages()->first()

1 Comment

please accept this answe and give upvote this answer thank you!!!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.