我有一个表单请求来验证注册数据 . 该应用程序是一个移动API,我希望这个类在验证失败的情况下返回格式化的JSON,而不是默认情况下(重定向) .
我尝试从 Illuminate\Foundation\Http\FormRequest
类重写方法 failedValidation
. 但这似乎不起作用 . 有任何想法吗?
码:
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
use Illuminate\Contracts\Validation\Validator;
class RegisterFormRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize() {
return TRUE;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules() {
return [
'email' => 'email|required|unique:users',
'password' => 'required|min:6',
];
}
}
4 回答
通过查看
Illuminate\Foundation\Http\FormRequest
中的以下函数,Laravel似乎正确处理它 .并且根据
Illuminate\Http\Request
中的wantsJson
函数,您必须明确地寻求JSON
响应,无需覆盖任何功能 . 只是你添加了
在您的表单 Headers 中 . Laravel将以相同的URL和JSON格式返回响应 .
这是我的解决方案,它在我的最终运作良好 . 我添加了以下功能请求代码:
laravel可以很好地处理响应函数 . 如果您请求json或ajax,它将自动返回 .
只需在您的请求中添加以下功能: