Inizia subitoInizia gratis

Validator personalizzato del modello

Hai un'API per aggiornare l'inventario e ti è stato chiesto di mostrare un messaggio di errore chiaro quando vengono inserite quantità negative.

L'eccezione RequestValidationError è già stata importata per te.

Questo esercizio fa parte del corso

Deployment di AI in produzione con FastAPI

Visualizza corso

Istruzioni dell'esercizio

  • Importa l'annotazione per la validazione personalizzata del modello.
  • Implementa una validazione personalizzata del modello che venga eseguita "after" rispetto alle validazioni predefinite del modello.
  • Genera un'eccezione RequestValidationError per mostrare gli errori di validazione all'utente dell'API.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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
Modifica ed esegui il codice