在 Laravel 4 中检索验证器错误消息


Retrieving validator error messages in Laravel 4

我正在编写一个返回JSON响应的AJAX方法,并且正在验证发送到此方法的一些POST数据。我想知道如果验证失败,我是否可以从验证器中提取当前的错误消息,如下所示:

$validator = Validator::make(Input::all(), $rules, $messages);
if($validator->fails()) {
    return Response::json(array(
        'error' => array(), // I want the error message to be available here
        200
    ));
}

到目前为止,我发现的只是一种使用 withErrors($validator); 将错误消息传递给视图的方法。但是因为我没有使用视图,而只是返回带有Response::json()的响应,所以我不能这样做。

你可以这样做:

$validator = Validator::make(Input::all(), $rules, $messages);
if($validator->fails()) {
    return Response::json(array(
        'error' => array( $validator->messages()->all() ), // I want the error message to be available here
        200
    ));
}