Validador personalizado de modelo
Você tem uma API para atualizar o estoque e foi solicitado a exibir uma mensagem de erro amigável quando forem informadas quantidades negativas.
A exceção RequestValidationError já foi pré-carregada para você.
Este exercício faz parte do curso
Colocando IA em Produção com FastAPI
Instruções do exercício
- Importe a anotação para validação personalizada de modelo.
- Implemente uma validação personalizada que execute "after" das validações padrão do modelo.
- Lance uma exceção
RequestValidationErrorpara exibir os erros de validação ao usuário da API.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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