Zacznij terazZacznij za darmo

Dodawanie własnych walidatorów

Mode360 Solutions to organizacja stojąca za systemem moderacji komentarzy. Twoim zadaniem jest stworzenie usługi walidacji dla wszystkich pracowników. System powinien sprawdzać dane wejściowe (username, email i age) tak, aby tylko pracownicy z oficjalnym adresem e-mail mogli się zarejestrować.

Zdefiniuj model Pydantic User, używając dekoratora @field_validator na polu email, aby sprawdzić, czy podany adres kończy się na @mode360.com.

Takie walidatory zwiększają bezpieczeństwo i spójność systemu.

To ćwiczenie jest częścią kursu

Wdrażanie AI na produkcję z FastAPI

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj dekorator Pydantic, aby utworzyć własny walidator dla pola email.
  • Użyj metody endswith na ciągu znaków, aby sprawdzić, czy adres e-mail kończy się domeną @mode360.com.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
Edytuj i uruchom kod