Есть ли у метода validate () ограничение на количество ошибок, которые он может перенаправить обратно в Laravel 6? - PullRequest
0 голосов
/ 06 января 2020

Есть ли у метода validate() ограничение на количество ошибок, которое он может перенаправить обратно на Laravel? Ниже мой метод проверки. Это не работает с таким количеством полей. Однако, если я закомментирую некоторые поля, он начнет работать. Я подозревал, что некоторые поля могут содержать синтаксическую ошибку, но это не так, поскольку я проверил их все по отдельности. Кто-нибудь может указать мне на проблему?

$validatedData = $request->validate([
    'first_name' => 'bail|required|max:35|regex:^[a-zA-Z]+$',
    'middle_name' => 'bail|nullable|max:35|regex:^[a-zA-Z]+$',
    'last_name' => 'bail|required|max:35|regex:^[a-zA-Z]+$',
    'user_name' => 'bail|required|max:70|regex:^[a-zA-Z\s]*$',
    'company_email' => 'bail|required|email|max:345|unique:users',
    'password' => 'bail|required|min:8|max:255|regex:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$',
    'cnic' => 'bail|required|max:15|regex:\d{5}-\d{7}-\d',
    'nationality' => 'bail|required|max:74|regex:^[a-zA-Z\s]*$',
    'date' => 'bail|required|date',
    'gender' => 'bail|required',
    'marital_status' => 'bail|required',
    'religion' => 'bail|required',
    'current_address' => 'bail|required|max:255',
    'permanant_address' => 'bail|required|max:255',
    'personal_email' => 'bail|required|email|max:345|unique:users',
    'primary_phone' => 'bail|required|max:15|regex:^(\+923)\d{9}$',
    'secondary_phone' => 'bail|required|max:15|regex:^(\+923)\d{9}$',
    'company_skype' => 'required',
    'personal_skype' => 'nullable',
    'linked_in' => 'bail|nullable|max:2000|url',
    'github_link' => 'bail|nullable|max:2000|url',
    'stackoverflow_link' => 'bail|nullable|max:2000|url',
    'full_name' => 'bail|required|max:75|regex:^[a-zA-Z\s]*$',
    'relation_name' => 'bail|required|max:255|regex:^[a-zA-Z\s]*$',
    'branch' => 'required',
    'phone_number' => 'bail|required|max:15|regex:^(\+923)\d{9}$',
    'department' => 'required',
    'designation' => 'required',
    'level' => 'required',
    'experience' => 'bail|required|max:4',
    'join_date' => 'bail|required|date',
    'account_status' => 'required'
]);

Я на самом деле сбрасываю ошибки, используя var_dump (). Это то, что я получаю, когда комментирую большинство пар ключ / значение в моем массиве, которые передаются методу validate.

object(Illuminate\Support\ViewErrorBag)#245 (1) { ["bags":protected]=> array(1) { ["default"]=> object(Illuminate\Support\MessageBag)#246 (2) { ["messages":protected]=> array(10) { ["first_name"]=> array(1) { [0]=> string(33) "The first name field is required." } ["last_name"]=> array(1) { [0]=> string(32) "The last name field is required." } ["user_name"]=> array(1) { [0]=> string(32) "The user name field is required." } ["company_email"]=> array(1) { [0]=> string(36) "The company email field is required." } ["password"]=> array(1) { [0]=> string(31) "The password field is required." } ["cnic"]=> array(1) { [0]=> string(27) "The cnic field is required." } ["nationality"]=> array(1) { [0]=> string(34) "The nationality field is required." } ["personal_email"]=> array(1) { [0]=> string(37) "The personal email field is required." } ["primary_phone"]=> array(1) { [0]=> string(36) "The primary phone field is required." } ["secondary_phone"]=> array(1) { [0]=> string(38) "The secondary phone field is required." } } ["format":protected]=> string(8) ":message" } } } 

Когда я раскомментирую все ключи массива, которые я передаю в массив validate, вот что я получаю:

object(Illuminate\Support\ViewErrorBag)#247 (1) { ["bags":protected]=> array(0) { } }

Я также пробовал метод Validate :: make, но Поведение не изменилось, и я не могу решить проблему.

 $validator = Validator::make($request->all(), [
            'first_name' => 'required|max:35|regex:^[a-zA-Z]+$',
            'middle_name' => 'nullable|max:35|regex:^[a-zA-Z]+$',
            'last_name' => 'required|max:35|regex:^[a-zA-Z]+$',
            'user_name' => 'required|max:70|regex:^[a-zA-Z\s]*$',
            'company_email' => 'required|email|max:345|unique:users',
            'password' => 'required|min:8|max:255|regex:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$',
            'cnic' => 'required|max:15|regex:\d{5}-\d{7}-\d',
            'nationality' => 'required|max:74|regex:^[a-zA-Z\s]*$',
            // 'date' => 'required|date',
            // 'gender' => 'required',
            // 'marital_status' => 'required',
            // 'profile_picture' => 'nullable|image|mimes:jpeg,png,jpg|max:2000000',
            'personal_email' => 'bail|required|email|max:345|unique:users',
            'primary_phone' => 'bail|required|max:15|regex:^(\+923)\d{9}$',
            'secondary_phone' => 'bail|required|max:15|regex:^(\+923)\d{9}$',

            // 'current_address' => 'required|max:255',
            'permanant_address' => 'required|max:255',
            // 'religion' => 'required',
        ]);

        if ($validator->fails()) {
            return redirect('/user/create')->withErrors($validator)->withInput();
        }

Мой файл Laravel .logs также не содержит ошибок.

1 Ответ

1 голос
/ 21 января 2020

У меня такая же проблема. может быть, это решение

.env

SESSION_DRIVER=file
...