jueves, 12 de noviembre de 2015

3 - Tutorial de Laravel 5 - Request (Peticiones y formularios)




En este capítulo del tutorial de Laravel 5 nos centramos en la clase Request  que nos será útil para procesar la información enviada al servidor a través de los métodos get y post.

Concretamente crearemos una nueva acción llamada form en HomeController que estará conectada a una vista llamada form.blade.php, esta vista contendrá un formulario que podrá ser enviado a través del método post, para esta nueva acción crearemos una ruta (home/form) en routes.php a través del método match para aceptar peticiones del tipo get y post, también veremos que con el método any igualmente podemos aceptar peticiones get y post.

El código de cada uno de los ejemplo los podéis ver a continuación.

Código para HomeController.php ...


Primero agregar la clase Request:
 
use Illuminate\Http\Request;


Luego la acción form:

    public function form(Request $request){
        
        if ($request->isMethod("post") && $request->has("name"))
        {
            $name = $request->input("name");
        }
        else
        {
            $name = "";
        }
        
        return View("home.form", ["name" => $name]);
    }


Crear la ruta en routes.php probar con los métodos match y any:

//Peticiones del tipo get y post
//Route::match(["get", "post"], "home/form", "HomeController@form");
Route::any("home/form", "HomeController@form");


Código de la vista form.blade.php ...

<h1>POST</h1>
<form method="post" action="{{url('home/form')}}">
    <label>Name: </label>
    <input type="text" name="name" value="{{$name}}" />
    {{csrf_field()}}
    <button type="submit">Send</button>
</form>

Valor del campo name: {{$name}}