
Validación de correo electrónico en Laravel con la regla de validación email
- Publicado el 12 febrero, 2025
- Palabras: 251
¿Necesita más control sobre la validación de correo electrónico? La nueva regla de validación email proporciona una forma fluida y extensible de validar direcciones de correo electrónico con requisitos precisos.

#Uso básico
La validación de correo electrónico suele requerir distintos niveles de rigurosidad, desde la comprobación básica del formato hasta la verificación de DNS y la prevención de suplantación de identidad. La nueva regla de validacion email de Laravel simplifica este proceso al proporcionar una interfaz fluida que hace que las reglas de validación sean más legibles y fáciles de mantener. Veamos cómo funciona:
use IlluminateValidationRule;
$request->validate([
'email' => ['required', 'string', Rule::email()->strict()->dns()]
]);
#Ejemplo práctico
A continuación se muestra cómo puede implementar reglas de validación de correo electrónico personalizadas para diferentes tipos de usuarios:
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Email::macro('employee', function () {
return Email::default()
->strict()
->dns()
->rules('ends_with:@company.com,@subsidiary.com');
});
Email::macro('client', function () {
return Email::strictSecurity()
->rules('not_ends_with:@competitor.com');
});
Email::macro('enterprise', function () {
return Email::default()
->dns()
->spoof()
->filter()
->rules('ends_with:@verified-domains.com');
});
}
}
class RegistrationController extends Controller
{
public function store(Request $request)
{
$request->validate([
'personal_email' => ['required', Rule::email()->strict()],
'work_email' => ['required', Email::employee()],
'billing_email' => ['required', Email::enterprise()]
]);
// Registration logic
}
}
La regla de validación email aporta varias ventajas sobre la validación tradicional basada en arrays. Proporciona una interfaz más intuitiva para combinar reglas de validación, hace que el código sea más legible y permite una extensión sencilla a través de macros. Esto es particularmente útil cuando se trabaja con diferentes requisitos de validación de correo electrónico en toda la aplicación.
Piense en ello como bloques de construcción para la validación de correo electrónico: puede mezclar y combinar diferentes aspectos de validación (verificaciones de DNS, prevención de suplantación, modo estricto) mientras mantiene un código limpio y comprensible. Esto se vuelve especialmente valioso cuando:
- Gestiona diferentes requisitos de validación de correo electrónico para diferentes tipos de usuarios
- Implementa reglas de validación personalizadas para dominios específicos
- Garantiza medidas de seguridad como verificaciones de DNS y suplantación
- Crea patrones de validación reutilizables en toda la aplicación
Por ejemplo, en lugar de recordar qué combinación de elementos de array crea la validación más segura, puede simplemente usar Email::strictSecurity() y saber que está obteniendo el nivel más alto de validación.
Fuente: Harris Raftopoulos
Artículos relacionados
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión