Añadir validadores personalizados
Mode360 Solutions es la organización responsable del sistema de moderación de comentarios, y se te ha encomendado la tarea de crear un servicio de validación para todos los empleados. El sistema debe poder validar los datos introducidos (username
, email
y age
) de modo que solo puedan registrarse los empleados con una dirección de correo electrónico oficial.
Debes definir un modelo Pydantic User
utilizando el decorador @field_validator
en email
para comprobar si el correo electrónico introducido termina con @mode360.com
Estos validadores mejoran la seguridad y la integración del sistema.
Este ejercicio forma parte del curso
Implementación de IA en producción con FastAPI
Instrucciones del ejercicio
- Añade el decorador Pydantic para crear un validador personalizado en el campo «
email
». - Utiliza el método
endswith
para comprobar si la dirección de correo electrónico termina con el dominio@mode360.com
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
from pydantic import BaseModel, field_validator, Field
class User(BaseModel):
username: str = Field(..., min_length=5, max_length=20)
email: str
age: int
# Add the Pydantic decorator to validate
____('email')
def email_must_be_example_domain(cls, user_email):
# Use the endswith method to validate the email ends with @mode360.com
if not user_email.endswith("____"):
raise ValueError('Email must be from the mode360.com domain')
return user_email