Если проверка формы не удалась, перенаправьте обратно с вводом, используя пользовательский класс запросов (laravel 5.8) - PullRequest
0 голосов
/ 22 сентября 2019

Проблема в том, что я хочу вернуться с входами, когда проверка не пройдена.Здесь я использую пользовательский класс запросов для проверки ввода пользователя.

Теперь мой вопрос: куда я помещаю этот фрагмент кода на Контроллер Или в Класс запроса .
или есть другой способ сделать это?

Вот код, который я хочу использовать: return redirect()->back()->withInput();

ВотКонтроллер:

<?php

namespace App\Http\Controllers\Admin;

use App\Http\Requests\Admin\counter\CreateCounterRequest;
use App\Models\Admin\Counter;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CounterController extends Controller
{
    public function store(CreateCounterRequest $request)
    {
        Counter::create([
            'title' => $request->title,
            'ion_icon' => $request->ion_icon,
            'counter_value' => $request->counter_value,
        ]);
        session()->flash('success', 'Counters created successfully.');
        return redirect(route('counter.index'));
    }
}

Вот класс запроса:

<?php

namespace App\Http\Requests\Admin\counter;

use Illuminate\Foundation\Http\FormRequest;

class CreateCounterRequest extends FormRequest
{
    public function rules()
    {
        return [
            'ion_icon' => 'required',
            'title' => 'required',
            'counter_value' => 'required|numeric',
        ];
    }

}

1 Ответ

0 голосов
/ 22 сентября 2019

отметьте это

use Illuminate\Support\Facades\Validator;
protected function validator(array $data)
    {
        return Validator::make($data, [
            'ion_icon' => 'required',
            'title' => 'required',
            'counter_value' => 'required',
        ]);
    }
public function store(Request $request)
    {

        $validator = $this->validator($request->all());

        if ($validator->fails()) {
            return redirect()->route('your_route')->withInput(['title' => $request->title, 'icon_icon' => $request->icon_icon,'counter_value' => $request->couter_value,'phone_number'=>$request->phone_number])->withErrors($validator, 'your_desire_name');
        }
        Counter::create([
            'title' => $request->title,
            'ion_icon' => $request->ion_icon,
            'counter_value' => $request->counter_value,
        ]);
        session()->flash('success', 'Counters created successfully.');
        return redirect(route('counter.index'));
    }

Want In Your Blade File Показать это сообщение об ошибке

<div >

                                <input type="text" name="title" class="form-control"
                                       value="{{old('title')}}" required>


                            </div>
                            @if ($errors->your_desire_name->has('title'))


                                <span class="messages"><p
                                        class="text-danger error">{{ $errors->your_desire_name->first('title') }}</p></span>



                            @endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...