Добавление пользовательских валидаторов
Mode360 Solutions — организация, стоящая за системой модерации комментариев. Вам поручено создать сервис валидации для всех сотрудников. Система должна проверять входные данные (username, email и age) таким образом, чтобы регистрацию могли пройти только сотрудники с корпоративным адресом электронной почты.
Необходимо определить Pydantic-модель User, используя декоратор @field_validator для поля email, чтобы проверять, заканчивается ли указанный адрес на @mode360.com.
Такие валидаторы повышают безопасность и надёжность интеграции системы.
Это упражнение является частью курса
Развёртывание ИИ в производственной среде с помощью FastAPI
Инструкции к упражнению
- Добавьте Pydantic-декоратор для создания пользовательского валидатора поля
email. - Используйте строковый метод
endswith, чтобы проверить, заканчивается ли адрес электронной почты на домен@mode360.com.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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