Currently I use this to display validation errors via ajax:
if (data.validation_failed == 1)
{
var arr = data.errors;
The easiest way is to leverage the MessageBag
object of the validator. This can be done like this:
// Setup the validator
$rules = array('username' => 'required|email', 'password' => 'required');
$validator = Validator::make(Input::all(), $rules);
// Validate the input and return correct response
if ($validator->fails())
{
return Response::json(array(
'success' => false,
'errors' => $validator->getMessageBag()->toArray()
), 400); // 400 being the HTTP code for an invalid request.
}
return Response::json(array('success' => true), 200);
This would give you a JSON response like this:
{
"success": false,
"errors": {
"username": [
"The username field is required."
],
"password": [
"The password field is required."
]
}
}