ÎncepețiÎncepe gratuit

Validator personalizat de model

Ai un API pentru actualizarea inventarului și ți s-a cerut să afișezi un mesaj de eroare ușor de înțeles atunci când sunt introduse cantități negative.

Excepția RequestValidationError a fost preîncărcată pentru tine.

Acest exercițiu face parte din cursul

Deployment AI în producție cu FastAPI

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă adnotarea pentru validarea personalizată a modelului.
  • Implementează o validare personalizată a modelului care rulează "after" validările implicite.
  • Ridică o excepție RequestValidationError pentru a transmite erorile de validare utilizatorului API-ului.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
Editează și rulează codul