Validateur personnalisé de modèle
Vous disposez d’une API pour mettre à jour un stock, et l’on vous a demandé d’afficher un message d’erreur clair lorsque des quantités négatives sont saisies.
L’exception RequestValidationError a été préchargée pour vous.
Cet exercice fait partie du cours
Déployer l’IA en production avec FastAPI
Instructions
- Importez l’annotation de validation personnalisée de modèle.
- Implémentez une validation personnalisée qui s’exécute "after" les validations par défaut du modèle.
- Levez une exception
RequestValidationErrorpour remonter les erreurs de validation à l’utilisateur de l’API.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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