Regla Unique
Comprar curso

111. Regla Unique

En este capítulo, aprenderás a utilizar la regla Unique en Laravel 10 para validar la unicidad de los datos de entrada. Descubre cómo utilizar la regla Unique para evitar la creación de registros duplicados en la base de datos.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    Cuando trabajas con Laravel 10, a menudo es necesario validar que los datos de entrada de un formulario sean únicos para evitar la creación de registros duplicados en la base de datos. Para hacer esto, puedes utilizar la regla Unique de Laravel.

    La regla Unique te permite validar que un campo de entrada en un formulario sea único en la base de datos. Para utilizar esta regla, simplemente agrega el método unique() a las reglas de validación para el campo correspondiente. Por ejemplo, si tienes un campo de entrada llamado "correo electrónico", puedes utilizar la regla Unique de la siguiente manera:

    $request->validate([
       'email' => 'required|email|unique:users,email'
    ]);

    En este caso, la regla Unique comprueba que el valor del campo de entrada "correo electrónico" no esté ya presente en la tabla "users" de la base de datos. Si el valor ya existe en la tabla, se generará un mensaje de error de validación y el formulario no se enviará.

    También puedes utilizar la regla Unique para validar la unicidad de múltiples columnas en la base de datos. Para hacer esto, simplemente pasa un array de nombres de columna a la regla Unique. Por ejemplo, si tienes una tabla "clientes" con las columnas "nombre" y "correo electrónico" y deseas validar que los valores en ambas columnas sean únicos, puedes utilizar la regla Unique de la siguiente manera:

    $request->validate([
       'nombre' => 'required|unique:clientes,nombre,email,' . $id,
       'correo electrónico' => 'required|unique:clientes,nombre,email,' . $id
    ]);

    En este caso, la regla Unique comprueba que los valores de las columnas "nombre" y "correo electrónico" no estén ya presentes en la tabla "clientes" de la base de datos. El parámetro adicional $id se utiliza para excluir el registro actual de la comprobación de unicidad, lo que permite actualizar los registros existentes sin generar un error de validación.

    En resumen, la regla Unique de Laravel 10 es una herramienta útil para validar la unicidad de los datos de entrada en un formulario y evitar la creación de registros duplicados en la base de datos. Utilízala para garantizar la integridad de tus datos y mejorar la calidad de tu aplicación web.

  • Eric

    Eric hace 1 año

    Hola Victor. No me esta funcionando el unique, tendra que ver con la BD? Use MSSQL.

    Laravel Framework 9.52.0
    Microsoft SQL Server 2022 (RTM) - 16.0.1000.6 (X64) 
    Oct  8 2022 05:58:25 
    Copyright (C) 2022 Microsoft Corporation
    Express Edition (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 19045: )
    • Victor Arana Flores hace 1 año

      Hola Eric. Las validaciones se hacen antes de conectarse con la base de datos. Si no te esta funcionando es muy probable que estés escribiendo algo mal.

    • Eric hace 1 año

      ¡Hola Victor! Muchas gracias por tu pronta respuesta. Efectivamente, encontré el error en mi código. Me di cuenta de que estaba haciendo el paso del 'store' en 'update', lo que afectaba el funcionamiento del unique. ¡Pero ya lo solucioné! Agradezco tu ayuda, sin duda tus cursos son excelentes. ¡Saludos!

  • Erik Serna Vite

    Erik Serna Vite hace 1 año

    Me ayudas a entender la logica de la concatenación que hiciste en el minuto 4:26  por favor 

    • Victor Arana Flores hace 1 año

      Hola Erik. Basicamente si le pasas un id, lo que le indicas es, verifica que sea unico, pero no lo compares con ese id. De esa manera evitamos que cuando actualicemos un registro nos diga que dicho slug ya existe.