Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.01.2018 09:27:12

Как правильно хендлить ошибки валидации в 5.5?

Привет.

Есть простой контроллер с простым экшном:

class PushPermissionController extends Controller
{
    public function store(PushPermissionRequest $request)
    {
        print 111;
        die;
    }
}

И к нему простая валидация:

class PushPermissionRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'device_type' => 'required|integer'
        ];
    }
}

Так вот при обращении к экшну как без передачи обязатального поля device_type так и с ним, контроллер не выводит 111.

Если же я убираю правила валидации

    public function rules()
    {
        return [
        ];
    }

то получаю 111.

Мануальная валидация в контроллере работает нормально.
Что я делаю не так?

Спасибо.

Да, в логах при этом пусто.

Не в сети

#2 07.01.2018 11:32:30

Re: Как правильно хендлить ошибки валидации в 5.5?

Покажи форму пожалуйста. И что это выводит в случае, если вводишь device_type в форме?

PHP
public function store(Request $request)
{
    
dd($request->all());
}

Не в сети

#3 07.01.2018 12:35:41

Re: Как правильно хендлить ошибки валидации в 5.5?

Покажи форму пожалуйста. И что это выводит в случае, если вводишь device_type в форме?

Нет формы, это контроллер для API (использую api-роутинг).
Если постом передаю в экшн device_type, соответствующий правилам валидации, то экшн отрабатывает нормально. Если же передаю невалидное значение, то ожидаю увидеть ошибку валидации, а не вижу ничего.

Не в сети

Подвал раздела