Crear un proyecto en Laravel puede ser una experiencia enriquecedora y práctica para quienes buscan adquirir habilidades en desarrollo web. A continuación, exploraremos cómo crear un formulario con Laravel utilizando la estructura de Vuestra, un marco de referencia popular para estilos CSS. ¡Vamos al grano!
¿Cómo se configura la acción del formulario?
Es esencial definir la acción correcta del formulario para poder procesar correctamente los datos ingresados. En este caso, configuramos la acción del formulario para seguir la estructura de rutas de Laravel.
<form action="{{ route('users.store') }}" method="POST"><!--Más contenido del formulario aquí --></form>
En este contexto, la ruta 'users.store' es la encargada de recibir los datos del formulario y almacenarlos o procesarlos según sea necesario.
¿Cómo se crean los campos del formulario?
La base de un formulario eficiente está en sus campos bien configurados. Aquí se muestra cómo crear los campos usando las clases de Vuestra para estilo y estructura.
Estas reglas aseguran que el nombre y el email sean obligatorios, que el email sea único en la tabla users, y que la contraseña tenga un mínimo de ocho caracteres.
¿Cómo se muestra y gestionan errores en la vista?
Cuando existen problemas con la entrada de datos, es fundamental informar al usuario. La gestión de errores puede implementarse así:
Esta estructura verifica si existen errores y los muestra en pantalla para que el usuario pueda corregirlos.
¿Cómo se implementa la recuperación de datos tras errores?
Durante las validaciones, es beneficioso que el formulario recuerde lo ingresado para que los usuarios no tengan que volver a escribir la información correcta.
Al usar bcrypt, nos aseguramos de que las contraseñas se guarden de manera segura en la base de datos.
Crear un formulario en Laravel es sencillo y altamente efectivo cuando se combina con prácticas de validación y seguridad. Continúa perfeccionando tus habilidades con Laravel y comparte tu proyecto con la comunidad. ¡El aprendizaje nunca se detiene!
Ir a config modificar app.php cambiando ** 'locale' => 'en' por 'locale' => 'es',
ir a resources
Crear subcarpeta es y crear archivo validation.php con mensajes en español.
Al final del archivo validation.php
Agregar:
'attributes' => [
'name' => 'nombre',
'email' => 'correo electrónico',
'password ' => 'Contraseña'
],
Para que aparezca una descripción diciente sobre cada uno de nuestros campos.
@desaextremo muchas gracias por el video me ahorraste un mundo de tiempo...
muchisimas gracias bro, yo estaba agregando los mensajes de manera manual en el controlador
Para los que le quedaron vertical. Creo que poniendo
<div class="form-row" style="display: flex;">
En la en div superior al div que contiene col-sm-3 se puede lograr en algo ponerlo vertical.
Muchas gracias, como podría separar cada input me indicas porfa, me quedaron juntos.
Por usabilidad prefiero así por separado en lugar de un único elemento div con la clase alert, así, el usuario rápidamente sabrá en dónde corregir exactamente, saludos.
@csrf hace referencia a Cross-site request forgery, un tipo de ataque malicioso que se hace a sitios web.
Creando un formulario
Cuando trabajamos con Laravel no interactuamos colocando código SQL, lo hacemos a través de un archivo ya preparado que representara a la tabla que queramos llamar.
// Esto le dice a Laravel que el formulario es nuestro.@csrf
bcrypt() → Es un método helper de Laravel que encripta contraseñas.
Nunca pensé que usar laravel seria tan fácil, lo que me tardo haciendo en php puro con laravel se lo hace con unas cuantas lineas de código y en muy poco tiempo.
Una opción para validar datos es el uso de Form Requests, de esa manera los controladores se mantienen limpios.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/Route::get('/','UserController@index');Route::post('/users','UserController@store')->name("users.store");Route::delete('/users/{user}','UserController@destroy')->name("users.destroy");
Excelente profesor Italo, la forma como transmite la información.
El ritmo de trabajo , permite reflexionar sobre lo que se va codificando.
La forma en que enfatiza sobre las estructuras del código nos deja buenas bases. que permitirán "correr" mas adelante.!
Estoy muy contento con el cuidado y calidad que se percibe hasta el momento en este curso.
Gracias! Seguimos con toda!
:)
Mi formulario me queda vertical... :( cómo puedo dejarlo horizontal?
Tendrías que modificar el CSS, ¿qué código estás usando y cómo queda?
Hola, mira a mi me pasó algo similar, lo que tienes que hacer es lo siguiente donde dice form-row
lo dejas de la siguiente forma.
<div class=“row”>
Tengo un problema me salen los campos en vertical }}" method="post"><div class="row"><div class="col-3"><input type="text" name="name"class="form-control" placeholder="Ingrese el nombre"></div><div class="col-4"><input type="text" name="email"class="form-control" placeholder="Ingrese el email"></div><div class="col-3"><input type="password" name="password"class="form-control" placeholder="Ingrese el password"></div><div class="col-auto"> @csrf
<input type="submit" value="Enviar"class="btn btn-primary"></div></div></form>```
Sin palabras!!!
Extraordinario!!!
Excelente explicaciones!!
¿El helper @csrf siempre va en donde haya un botón, o puede ir en cualquier parte siempre y cuando este dentro del form?
Siempre irá en todo formulario de tu proyecto, ya que es una "llave" o "token" que indica a Laravel que si es un formulario del mismo proyecto, y que no está recibiendo una petición de un formulario externo.
Esta medida se usara para evitar Cross-site request forgery
Yo lo coloco allí para verlo fácilmente, pero lo correcto es que esté dentro de un formulario sin importar en qué ubicación. A veces se coloca debajo de la etiqueta form.