функция validate () не работает в PostsController - PullRequest
0 голосов
/ 26 марта 2019

После отправки данных из представления создания (PostsController) запрос переходит к методу хранилища (PostsController), но ни данные не проверяют и не выдают ошибку.

после удаления validate () работает и вывод: 123

class PostsController extends Controller
{
.
..
...
public function store(Request $request)
    {
       $this->validate($request, [
            'title' => 'required',
            'body' => 'required',
             ]);
       return 123;
    }

}


Output after the validate the data:

123

Ответы [ 2 ]

2 голосов
/ 26 марта 2019

Используйте запрос вместо этого:

$request->validate

Ссылка

1 голос
/ 26 марта 2019

Попробуйте вызвать метод validate из $request:

 $validatedData = $request->validate([
        'title' => 'required',
        'body' => 'required',
    ]);

Как сказано в документах:

метод проверки предоставляется Illuminate \ Http \ Request

Вы также можете создать свой собственный запрос, выполнив команду:

php artisan make:request PostStoreRequest:

По вашему запросу:

public function rules()
{
    return [
        'title' => 'required',
        'body' => 'required',
    ];
}

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

public function store(PostStoreRequest $request)
    { 
       return 123;
    }
}

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

Входящий запрос формы проверяется перед вызовом метода контроллера, что означает, что вам не нужно загромождать свой контроллер какой-либо логикой проверки:

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