Adquiere este curso para tener acceso a todas las lecciones
Comprar curso14. Agregar regla de validación personalizada
En este capítulo, se mostrará cómo agregar reglas de validación personalizadas en la aplicación de chat utilizando Laravel. Se explicará cómo crear y utilizar estas reglas para validar los datos enviados por el usuario.
2 comentarios
Inicia sesión para comentar
Comentarios:
-
Jheyner David Ibagon hace 1 año
Hola a todos, para laravel el archivo que genera artisan para rules ( reglas de validacion customizadas ) ha cambiado, para esta regla de validacion puede quedar de la siguiente forma, tomando las variables en el whereHas mediante un arrows fletch, este permite aceder al scope por fuera de la funcion.
.
-
Victor Arana Flores hace 1 año
Hola amigo, gracias por el aporte.
-
-
Francisco Javier Gil Bautista hace 1 año
Al crear la regla en Laravel 10 la estructura es algo diferente. Asi que hice algo asi:
public function validate(string $attribute, mixed $value, Closure $fail): void
{
$contact = Contact::where('user_id', auth()->id())
->whereHas('contact', function($query) use ($value) {
$query->where('email', $value);
});
if ($contact->count() > 0) {
$fail('Este contacto ya se ha agregado');
}
}
Donde ‘contact’ es ‘user’. Espero les sirva.
-
Bruno Agustín Aguirre Ing.sistemas hace 1 año
Excelente compañero!!! muchas gracias
-
Bruno Agustín Aguirre Ing.sistemas hace 1 año
Solución:
<?php
namespace App\Rules;
use App\Models\Contact;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class InvalidEmail implements ValidationRule
{
public function validate(string $attribute, mixed $value, Closure $fail): void
{
$contact = Contact::where('user_id', auth()->id())
->whereHas('user', function ($query) use ($value) {
$query->where('email', $value);
});
if ($contact->count() > 0) {
$fail('Este contacto ya se ha agregado');
}
}
}
-