امیر رضا
امیر رضا

Reputation: 15

**Laravel** form request validation not return errors

i setup laravel 5.8 form request with custom message and its validate fine and redirect back to form on invalid input But dost error back or i don't look where for errors

this is my class

public function create(createUser $request){
    //on invalid input not enter in this class
        //validation
    //dd($request->all('name'));


        $validator = $request->validated();
            if ($validator->fails()) {
                 Session::flash('error', $validator->messages()->first());
                return redirect()->back()->withInput();
            }

request class

public function rules()
    {

        return [
            'name'      => 'required|max:255'
            ,'email'    => 'string|required|E-mail|unique:users,email'
            ,'birthY'   => 'required|min:4'
            ,'birthM'   => 'required'
            ,'birthD'   => 'required'
            ,'gender'   => 'required'
            ,'Phone'    => 'required|min:11|max:11'
            ,'password' => 'required|min:8'
        ];

    }

    public function messages(){

        return [
            'name.required' => "اسمت چیه ؟!!",
            'email.required' => 'ایمیلت چیه?',
            'gender.required' => 'سرکار خانم یا جناب آقای ؟',
            'Phone.required'    =>'شماره ما توی درباره ما هست  شما بدین شاید باهتون کار داشتیم',
            'birthY.required'  => 'تولدت کیه ؟',
            'birthY.min'  => 'سال ها چهار رقمیه گلم',
            'password.required' =>'رمز بزار تا امن باشی ' ,
            'password.min' =>'حداقل هشتا بزن که کسی شک نکنه ',
            'password.confirmed' =>'هنوز هیچی نشده یادت رفت پسوردت رو  تایید کن تا بفهمم یاد داری',
            'Phone.min' =>  'شمارتو با صفر بزن لطفا'         
        ];
    }

and this is my blade where i try to show errors Not Working!!!!


                @if ($errors->any())
                        <div class="alert alert-danger">
                            <ul>
                            @foreach ($errors->all() as $error)
                                    <li>{{ $error }} </li>
                            @endforeach
                            </ul>
                        </div>
                @endif


            @isset($messages)
            <?php dd($messages) ?>

            @endisset



        @if (count($errors) > 0)
      <div class="alert alert-danger">
        <?php dd($error) ?>

          <ul>
              @foreach ($errors->all() as $error)

              <li>{{ $error }}</li>

              @endforeach



if you need other piece of code just let me know tnx a lot :)

Upvotes: 0

Views: 8380

Answers (1)

Quentin Geenens
Quentin Geenens

Reputation: 276

If this happens to you with postman remember to check that the header accepts json.

Accept: application/json Content-Type: application/json

Upvotes: 26

Related Questions