在Laravel 5.3 REST中验证错误消息为JSON

rak*_*btg 9 rest laravel laravel-5 laravel-5.3

我的应用程序通过POSTapi端点的请求创建新条目.

现在,如果任何验证失败,则laravel 5.3将请求重定向到主页,而不是返回错误json.

这是我的控制器:

public function create( Request $request )
{
    $organization = new Organization;

    // Validate user input
    $this->validate($request, [
        'organizationName' => 'required',
        'organizationType' => 'required',
        'companyStreet' => 'required'
    ]);

    // Add data 
    $organization->organizationName = $request->input('organizationName');
    $organization->organizationType = $request->input('organizationType');
    $organization->companyStreet = $request->input('companyStreet');
    $organization->save();
    return response()->json($organization);
}
Run Code Online (Sandbox Code Playgroud)

如果验证没有问题,那么实体将成功添加到数据库中,但如果验证请求存在问题,则不会将所有错误消息作为json响应发送,而是重定向回主页.

我如何将验证返回类型设置为json,因此对于每个请求,如果验证失败,则laravel将默认将所有错误消息作为json发送.

Ami*_*pta 6

您可以进行以下验证:

    $validator = \Validator::make($request->all(), [
       'organizationName' => 'required',
       'organizationType' => 'required',
       'companyStreet' => 'required'
    ]);

    if ($validator->fails()) {
       return response()->json($validator->errors(), 422)
    }
Run Code Online (Sandbox Code Playgroud)