Laravel правила проверки не применяются должным образом - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь применить эти правила проверки к моей функции контроллера, но ни одно из правил не применяется

Вот мой код

if($request->hasFile('propic'))
           {
                $this->validate($request, [
                    'name' => 'required', 'alpha','min:2', 'max:255',
                    'last_name' => 'required', 'alpha','min:5', 'max:255',
                    'mobile' => 'required', 'string','min:10','max:14', 'regex:/\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|
                    2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|
                    4[987654310]|3[9643210]|2[70]|7|1)\d{1,14}$/',
                    'email' => 'required', 'string', 'email', 'max:255', 'unique:users,email,'.$setting->id.'',
                    'propic' => 'required','image','mimes:jpeg,png,jpg,gif,svg','max:2048',
                ]);

                $imageName = time().'.'.$request->propic->extension();  
                $request->propic->move(public_path('propics'), $imageName);
                $setting->propic=$imageName;
                $setting->name=$request->input('name');
                $setting->last_name=$request->input('last_name');
                $setting->mobile=$request->input('mobile');
                $setting->email=$request->input('email');
                $setting->update();
                return Redirect::back()->with('success',__('sentence.User updated successfully'));  
           }

1 Ответ

2 голосов
/ 28 марта 2020

На момент написания, существует два принятых формата для передачи правил валидации:

  1. В виде массива строк (обратите внимание на квадратные скобки, которые вы сейчас упускаете):

    $this->validate($request, [
                    'name' => ['required', 'alpha','min:2', 'max:255'],
                    ...
                ]);
    
  2. В виде одиночной строки, разделенной пробелами:

    $this->validate($request, [
                    'name' => 'required|alpha|min:2|max:255',
                    ...
                ]);
    
...