НачатьНачать бесплатно

Добавление пользовательских валидаторов

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
Редактировать и запускать код