Как хранить большие формы в Laravel 6? - PullRequest
1 голос
/ 12 января 2020

У меня большая форма (~ 150 входов) и контроллер класса c (с методами создания / хранения). Также я использую правила проверки.

Метод хранения:

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'name'        => 'required|regex:/^[a-zA-Zа-яёА-ЯЁ]+$/u|min:2|max:50',
        'phone'       => 'required|digits_between:9,10',
        'description' => 'required|min:20|max:500',
    ]);
    if ($validator->fails()) {
        return redirect()->back()->withErrors($validator);
    }

    $request['created_by'] = Auth::user()->id;
    Profile::create($request->all());

    return redirect()->route('admin.profile.index');
}

В этом случае форма не сохраняет никаких данных ...

Когда я пытался уменьшить вводимые числа (со 150 до 30) - данные были успешно сохранены!

После этого я увеличиваю "php_memory_limit", "max_input_vars" et c. но проблема не была устранена.

Пожалуйста, помогите найти лучший способ хранения больших форм.

UPD:

Форма успешно хранится без проверки. .. Я пытался установить только одно простое правило - «обязательно», но проблема не исчезла

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Это странно, но проблема осталась, когда я сменил

return redirect()->back()->withErrors($validator); на

return redirect()->back()->withErrors($validator->messages());

0 голосов
/ 12 января 2020
  • Вы можете увеличить значение max_input_vars в файле php.ini

  • или изменить пользовательский интерфейс и разделенные входы на нескольких страницах

...