Zacznij terazZacznij za darmo

Niestandardowy walidator modelu

Masz API do zarządzania stanem magazynu. Zostałeś poproszony o wyświetlenie przyjaznego komunikatu o błędzie, gdy użytkownik poda ujemną ilość.

Wyjątek RequestValidationError został już wcześniej zaimportowany.

To ćwiczenie jest częścią kursu

Wdrażanie AI na produkcję z FastAPI

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj adnotację służącą do niestandardowej walidacji modelu.
  • Zaimplementuj niestandardową walidację modelu, która uruchamia się "after" domyślnych walidacji.
  • Wywołaj wyjątek RequestValidationError, aby przekazać błędy walidacji do użytkownika API.

Interaktywne ćwiczenie praktyczne

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

# Import annotation for custom validation
from pydantic import BaseModel, ____

class InventoryRecord(BaseModel):
    name: str
    quantity: int

    # Create custom validator that runs after default validation
    @model_validator(mode="____")
    def validate_after(self):
        if len(self.quantity) < 0:
            # Raise request validation error
            raise ____(
                "Negative quantity is not allowed!"
            )
        return self
Edytuj i uruchom kod