функция типа __construct, но для конкретной функции на LARAVEL - PullRequest
0 голосов
/ 03 мая 2019

функция похожа на функцию __construct, но для конкретной функции.

мой маршрут

Route::resource('form00', 'Form00Controller');
Route::resource('form001', 'Form001Controller');
........ and more

my __contsruct в Form00Controller

public function __construct()
    {
        $this->validate(request(), [
            'projectName' => 
                array(
                    'required',
                    'regex:/(^([a-zA-Z]+)(\d+)?$)/u'
                )
        ];
    }

моя другая функция Form00Controller

    public function create()// this function and another not effected
    {
        return view('form00.create');
    }

    public function store(Request $request)//__construct just for this function
    {

        $requestData = $request->all();

        Form00::create($requestData);

        return redirect('form00')->with('flash_message', 'Form00 added!');
    }

Мне нужно проверить только для хранилища функций и не изменять эту функцию.

1 Ответ

0 голосов
/ 03 мая 2019

Это идеальный пример для запросов пользовательских форм, вы можете следовать этому учебнику

В основном вы получите

public function store(StoreFormFormRequest $request)//__construct just for this function
    {

        $requestData = $request->all();

        Form00::create($requestData);

        return redirect('form00')->with('flash_message', 'Form00 added!');
    }

И у вас будет StoreFormFormRequest класс в app/Http/Requests, который будет что-то вроде

class StoreFormFormRequest extends FormRequest {

    public function rules() {
        return [
            'projectName' => 'required|regex:/(^([a-zA-Z]+)(\d+)?$)/u'
        ]    
    }
}

Проверка будет запущена автоматически, и, если она пройдет, будет выполнен код контроллера.

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