Как вернуть пользовательский ответ при сбое проверки с использованием запросов формы laravel - PullRequest
1 голос
/ 04 июня 2019

Если мы используем запросы формы laravel в наших контроллерах, когда данные проверки недействительны, тогда запрос формы выполнит перенаправление назад с переменной errors.

Как я могу отключить это перенаправление ивозвращать пользовательский ответ об ошибке, если данные недействительны?

Я буду использовать запрос формы для GET|POST|PUT типа запросов.

Я устал Validator класс, чтобы решить мою проблему, но мне нужно использовать формузапросы.

$validator = \Validator::make($request->all(), [
    'type' => "required|in:" . implode(',', $postTypes)
]);

if ($validator->fails()) {
    return response()->json(['errors' => $validator->errors()]);
}

Ответы [ 2 ]

0 голосов
/ 04 июня 2019
*use this on function*
dont forget to take on top  // use App\Http\Requests\SomeRequest;

$validatedData = $request->validated();
\App\Validator::create($validatedData);

*create request php artisan make:request SomeRequest*
ex.
use Illuminate\Contracts\Validation\Validator;

class SomeRequest extends FormRequest
{
   public function rules()
    {
        return [
            'health_id'      => 'required',
            'health'         => 'required',
        ];
    }

}
0 голосов
/ 04 июня 2019

Базовый класс FormRequest имеет метод failedValidation.Попробуйте переопределить его в вашем FormRequest потомке

use Illuminate\Contracts\Validation\Validator;

class SomeRequest extends FormRequest
{
    ...

    public function failedValidation(Validator $validator)
    {
        // do your stuff
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...