domingo, 15 de noviembre de 2015

4 - Tutorial de Laravel 5 - Validar rutas con Expresiones Regulares




En este capítulo del Tutorial de Laravel 5 vamos a ver como validar con expresiones regulares los argumentos pasados en las rutas haciendo uso del método where.

Ejemplo básico para permitir sólo números:

Route::get("ruta/id/{id}", function($id){
    return $id;
})->where(["id" => "[0-9]+"]);

El código que interviene en el capítulo lo podéis seguir a continuación.

En routes.php definiremos una nueva ruta para validar dos posibles argumentos donde veremos un ejemplo básico de como aceptar sólo letras:


Route::get("home/nombre/{nombre}/apellidos/{apellidos}", function($nombre, $apellidos){
    return  $nombre . " " . $apellidos;
})->where(["nombre" => "[a-zA-Z]+", "apellidos" => "[a-zA-Záéíóú]+"]);


Nos dirigiremos a la nueva ruta desde el navegador para comprobar que sucede al introducir un valor válido o no, en los argumentos {nombre} y {apellidos}.

Por ejemplo:

http://localhost/tutorial-laravel/public/home/nombre/manuel/apellidos/Dávila es correcto

http://localhost/tutorial-laravel/public/home/nombre/manuel/apellidos/123 es incorrecto

http://localhost/tutorial-laravel/public/home/nombre/123/apellidos/Dávila es incorrecto