Я обновляюсь от Laravel 3 до Laravel 4. Мое приложение имеет некоторые AJAX-формы, которые отображаются на стороне клиента (т.е. на стороне сервера нет просмотров). Поэтому вместо того, чтобы передавать ошибки проверки в представления с помощью метода сErrors(), я возвращаю объекты проверки достоверности для клиента как структуры JSON.
В Laravel 3 у меня было это:
$validation = Validator::make(Input::all(), $rules);
if($validation->fails())
{
return json_encode($validation->errors);
}
//else handle task
Но в Laravel 4 сообщения об ошибках защищены:
$validation = Validator::make(Input::all(), $rules);
if($validation->fails())
{
var_dump($validation->messages());
return json_encode($validation->messages());
}
//else handle task
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- > ) возвращает
{}
Вопрос: как вернуть все сообщения об ошибках проверки для всех полей в виде структуры JSON в Laravel 4?