PydanticModelValidator
What it is
A small utility function that validates a payload against a Pydantic BaseModel class. It logs validation errors and re-raises them.
Public API
pydantic_model_validator(model: Any, payload: Any, message: str) -> None- Validates
payloadusingmodel.model_validate(payload). - Ensures
modelis a class and a subclass ofpydantic.BaseModel. - On validation failure:
- Logs an error via
naas_abi_core.utils.Logger.logger.error. - Re-raises the original
pydantic.ValidationError.
- Logs an error via
- Validates
Configuration/Dependencies
- Depends on:
pydantic.BaseModelpydantic.ValidationErrornaas_abi_core.utils.Logger.logger(must be configured elsewhere for logging output)
Usage
from pydantic import BaseModel
from naas_abi_core.engine.engine_configuration.utils.PydanticModelValidator import (
pydantic_model_validator,
)
class User(BaseModel):
id: int
name: str
payload = {"id": 1, "name": "Alice"}
pydantic_model_validator(User, payload, "Invalid user payload") # returns None on successCaveats
modelmust be a class (not an instance) and must inherit frompydantic.BaseModel; otherwise aTypeErroris raised.- The function does not return the validated model instance; it only validates and raises on error.