Laravel controller for form validation skinny
Check out Dwight Watson's Validating Trait. I like to use it with:

protected $throwValidationExceptions = true;


Validation of Eloquent models occurs automatically according to the rules defined on the model and if it fails, a ValidatingException is thrown that you can catch further up the application stack. For example, I might put the following exception handler somewhere like app/global/start.php

App::error(function (\Watson\Validating\ValidationException $exception)
{
    Log::error($exception);
    // I prefer 'success' =&gt; 'false' to be expressed in the response code
    return Response::json([
        'message' =&gt; $exception-&gt;getErrors()-&gt;first(),
    ], 422); // Unprocessable entity
});


Them my controllers end up looking more like this:

public function create()
{
    $input = Input::all();
    // Validation occurs automatically during object creation
    $post = $this-&gt;post-&gt;create($input, Auth::user()-&gt;id);
    $html = View::make('posts.post', ['post_id' =&gt; $post-&gt;id])-&gt;render();

    // I prefer "success" to be expressed by the 200 OK response code
    return Response::json([
        'message' =&gt; 'Your post has been successfully posted!',
        'post_html' =&gt; $html
    ]); // not specifying a response code implies 200 OK

}


But it's really just a matter of personal preference at this point. Your code looks good to me.

tl;dr +1 would pull &amp; merge