我试试这个代码设置自定义验证消息,但没有效果 -流明不能设置自定义的验证规则
class TestController extends Controller
{
public function submit(Request $request)
{
$this->validate($request,
[
'items' => 'required'
],
[
'items.required' => 'test test'
]
);
}
}
但在错误我得到这个响应 -
{
"error": "The given data failed to pass validation."
}
什么错用这个代码?
UPD:
早些时候,我编辑App\Exceptions\Handler
把错误(API响应)在特定的格式 -
{
"error": "123"
}
此代码的原因,未显示验证错误 -
public function render($request, Exception $e)
{
return response([
'error' => $e->getMessage()
], 500);
}
我更新了Handler::render
关于此目的的方法
public function render($request, Exception $e) {
$response = parent::render($request, $e);
if (isset($response->exception) and !empty($response->exception)) {
return response(['error' => $response->exception->getMessage()], 500);
} else {
return parent::render($request, $e);
}
}
但我想我需要改进这段代码。
可你只要把异常处理文件放回其原始状态而您的修改?只是为了确保:您的主要问题是它没有显示您的自定义错误消息,对不对? – codedge
是的,我需要显示我的\例外作为{“错误”:}字段的回应。但是在这里也可以验证错误。 – sharp
请参阅https://stackoverflow.com/questions/37038229/laravel-5-2-validation-with-api/37725464#37725464 – tanerkuc