Vídeos archivos - RVR Soluciones Informáticas en TI

Archivo de categorías Vídeos

Laravel 8 Validación FormRequest

Usando nombres diferentes de los campos en la base de datos

Cuando en tus formularios usas nombres en los inputs que son diferentes a los de la tabla en la base de datos.

Tabla en Migrations

Aqui declaramos la tabla, especificando que los campos unicos moduloID y descripcion, van relacionados con un nombre de relación “unicoenregistro”

public function up()
    {
        Schema::create('sys_estatus', function (Blueprint $table) {
            $table->id('estatusID');
            $table->integer('moduloID');
            $table->string('descripcion',40);
            $table->boolean('borrado')->default(0);
            $table->timestamps();
            $table->unique(['moduloID','descripcion'],'unicoenregistro');
        });
    }
Resultado del archivo Migrations

Formulario

En los formularios html, uso nombres diferentes a la tabla para que del lado del cliente o compilación no puedan intentar inyectar datos si supieran el nombre de los campos en la tabla.

<form class="needs-validation" method="POST" action="{{route('estatus.store')}}">
@csrf
<div class="row">
   <div class="col-md-4 mb-4">
      <label for="firstName">Descripción</label>
      <input type="text" class="form-control" id="nombre" name="nombre" placeholder="Escribe el nombre del modulo" value="{{old('nombre')}}">
@error('nombre')
<div class="alert alert-danger" role="alert">
<small>*{{$message}}</small>
</div>
@enderror
      </div>
   </div>
<div class="row">
   <div class="col-md-4 mb-4">
      <label for="modulo">Módulo</label>
      <select class="custom-select d-block w-100" id="modulo"  name="modulo">
         <option value="">Elije...</option>
      </select>
@error('modulo')
      <div class="alert alert-danger" role="alert">
         <small>*{{$message}}</small>
      </div>
@enderror
   <hr class="mb-12">
   </div>
</div>
<button class="btn btn-primary btn-lg btn-block bg-blue-500 " type="submit">Agregar Estatus</button>
</form>

FormRequest

Aqui fue donde buscando por internet, encontré esta forma, para que funcione y no este marcando error hay que agregar esta clase “Illuminate\Validation\Rule;”, entonces en la mayoria de los ejemplos viene solo Rule::unique(‘tabla’)->where(…..), y asi, pero pues curioseando un poco, o de hecho en el editor, fijandose mas, te das cuenta que acepta un segundo parametro y es el nombre del campo, asi es como pudo funcionar, si hay otra manera mas facil. Favor de hacermelo saber, si la encuentro publicare otra entrada.

public function rules()
{
   return [
      'nombre'=>
         [Rule::unique('sys_estatus','descripcion')->where('moduloID',$this->modulo)
            ],
            'modulo'=>
            [
                'required',
                Rule::unique('sys_estatus','moduloID')->where('descripcion',$this->nombre)
            ],
        ];
    }

, , , ,

Traumas de la niñez

Siempre fue un trauma principalmente por mis hermanas, me imagino que era la forma de que siempre usaran calzón, porque si no una lagartija podría introducirse dentro de ellas.

Y hace poco me encontre con este post

https://www.facebook.com/mariaasuncion.castillo.1/posts/3048230998629588

,

Pelea innecesaria

Mono contra humano

Cualquier parecido con la realidad, es mera coincidencia

Cadena de Risas

Si te ries, comparte…

Logo 180

Accidente Bailando

Al bailar fijate del suelo.

Logo 180

Cocinando algo delicioso

Cuando no le haces caso a tu mujer, como encender el horno

,

Riddick

Logo 180

Linchamiento Sangriento

https://youtu.be/WDbOXWexu0c