Laravel 4 - 如何将所有字段的验证错误信息以JSON结构返回?
Laravel 4 - 如何将所有字段的验证错误信息以JSON结构返回?
我正在从Laravel 3升级到Laravel 4。我的应用程序有一些仅使用AJAX的表单,这些表单在客户端渲染(即没有服务器端视图)。因此,我没有使用withErrors()方法将验证错误传递给视图,而是将验证错误对象作为JSON结构返回给客户端。
在Laravel 3中,我有以下代码:
$validation = Validator::make(Input::all(), $rules); if($validation->fails()) { return json_encode($validation->errors); } //处理任务
但是在Laravel 4中,错误消息被保护起来了:
$validation = Validator::make(Input::all(), $rules); if($validation->fails()) { var_dump($validation->messages()); return json_encode($validation->messages()); } //处理任务
var_dump($validation->messages())返回:
object(Illuminate\Support\MessageBag)[333] protected 'messages' => array (size=1) 'delete_confirm_password' => array (size=1) 0 => string 'The delete confirm password field is required.' (length=46) protected 'format' => string ':message' (length=8)
json_encode($validation->messages)返回:
{}
问题:如何在Laravel 4中将所有字段的验证错误消息作为JSON结构返回?