Laravel Проверка формы запроса не прошла. - PullRequest
0 голосов
/ 01 мая 2020

Я создаю запрос формы, но когда я настраиваю неудачную проверку, проверка не работает, хотя правила не соответствуют требованию ...

Я хочу настроить, если проверка не удалась, я хочу вернуть и перенаправить ее с некоторым сеансом

Но если я использую метод defaultValidation по умолчанию с throws, он работает ....

Как решить эту проблему ..

Здесь мой код проверки формы запроса

/**
 * Handle a failed validation attempt.
 *
 * @param  \Illuminate\Contracts\Validation\Validator  $validator
 *
 * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
 */
protected function failedValidation(Validator $validator)
{
    $cities = $this->filled(['province', 'city']) ?
        $this->cacheCity($this->province) : [];

    $districts = $this->filled(['city', 'district']) ?
        $this->cacheDistrict($this->city) : [];

    $villages = $this->filled(['district', 'village']) ?
        $this->cacheVillage($this->district) : [];

    return redirect()->back()
        ->withErrors($validator, $this->errorBag)
        ->withInput()
        ->withCities($cities)
        ->withDistricts($districts)
        ->withVillages($villages);
}

Код моего контроллера:

/**
 * Store a newly created user in storage.
 *
 * @param  UserRequest  $request
 *
 * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
 */
public function __invoke(UserRequest $request)
{
    $user = new User();

    # Personal Details
    $user->first_name = $request->first_name;
    $user->last_name  = $request->last_name;

    ................................

    $user->save();

    return redirect()->route('user.index')
        ->withSuccess(trans('user.success'));
}
...