Entradas

Mostrando las entradas de junio, 2021

Manejo de formularios en varios tabs en laravel 8 con cookies

Imagen
 En el post anterior explique la forma en que solucione el manejo de formularios en varios tabs en laravel 8 con el uso del cache en laravel 8. El problema en lo personal es que la configuración no era personalizada para cada usuario, para corregir eso utilice cookies. Las cuales se almacenan de forma personalizada en cada navegador. En el controlador UserController en la funcion index creo la cookies de la siguiente forma: public   function   index (){          Cookie :: queue ( 'tabusuario' ,  '1' );          return   view ( 'configuracion.user' , [              'users'  =>  $this -> users ,         ]);     } Cookie::queue('tabusuario','1') permite colocar una cookie en cola para luego adjuntarla cuando la respuesta se envié. Es importante agregar la fachada  use  Illuminate\Support\Facades\ Cookie ; En la vista userEdit.blade.php , en donde están los 3 formularios , uno en cada tab Para las pestañas hago la siguiente validación e

Manejo de formularios en varios tabs en laravel 8

Imagen
 Llevo poco tiempo utilizando lavavel como framework de desarrollo de aplicaciones con lenguaje Php, actualmente estoy usando la version de laravel 8. En lo personal es muy intuitivo , lo recomiendo. Me encontré con una situación, en mi aplicación tengo un pagina para la edición de usuarios, esta cuenta con un tab de 3 pestañas, Formulario, Roles y Permisos. Cuento con 3 formularios, uno en cada pestaña . El problema radica que al enviar cualquiera de los 3 formularios, siempre se va a mostrar el tab 1 del formulario de usuarios. Esto no daría una buena experiencia para le usuario. Para tratar de solucionarlo, intente usar variables de sesión pero obtuve al 100 el resultado que esperaba, por lo tanto opté por el caché. En primer instancia creo una  variable de cache "tabusuario" con el valor de 1 cada vez que llamo al método update del controlador UserController.php. public   function   update ( User   $user , UpdateUserRequest   $request ){          $user -> update ( $req

Agregar y modificar un campo en el form request validation de laravel 8

Imagen
  Lavarel  es uno de los framework de backen mas usado en el lenguaje PHP, algo que ya saben si están buscando  solución a este tipo de problemas. Me encontré con este inconveniente y realicé las consultas necesarias para solucinarlos, espero que les pueda servir y ahorrarles tiempo. Para ponerlos en contexto, tengo un formulario para registrar usuarios create.blade.php con los siguientes campos : dni, name, lastname, lastname2, email, password, status. En mi controlador UserController.php en la función store escribí la lógica para guardar un usuario. public   function   store (R equest   $request ){                 $request -> validate ([              'dni'  =>  'bail|required|numeric|digits:10' ,              'name'  =>  'bail|required' ,              'lastname'  =>  'bail|required' ,              'lastname2'  =>  'bail|required' ,              'email'  =>  'bail|required' ,             

regla unique en form request validation en lavarel 8

Imagen
 Estuve realizando el formulario para actualizar usuarios, para las validaciones usé un  form request validation  UpdateUserRequest.php el cual quedo de la siguiente manera. La función authorize debe estar en true para que se puedan ejecutar las demás acciones. public   function   authorize ()     {          return   true ;     } Se establecieron las reglas de validación. se tienen dos campos con atributos únicos los cuales son: dni, email para lo cual se va a usar el metodo unique. La novedad es que cuando se se  envía el formulario para validar, este detecta el dni y el email como valores ya existentes. Por ende se necesita que se realice la validación con una excepción ignorando los campos dni y email con los mismos valores pertenecientes al mismo usuario.      public   function   rules ()     {          return  [              'dni'  =>  'bail|required|numeric|digits:10|unique:App\Models\User,dni,exception,' . $this -> get ( 'id' ),              'na