diff --git a/schemas/articles/articles.py b/schemas/articles/articles.py index 0411ac8..2cbcf78 100644 --- a/schemas/articles/articles.py +++ b/schemas/articles/articles.py @@ -10,6 +10,7 @@ from utils import ( normalize_string_field, ) + class Article(BaseModel): """Article complet avec tous les enrichissements disponibles""" @@ -355,7 +356,20 @@ class Article(BaseModel): ) exclure: Optional[bool] = Field(None, description="Exclure de certains traitements") - # ===== VALIDATEURS ===== + @field_validator("fournisseur_principal", mode="before") + @classmethod + def convert_fournisseur_principal(cls, v): + if v in (None, "", " ", " "): + return None + if isinstance(v, str): + v = v.strip() + if not v: + return None + try: + return int(v) + except (ValueError, TypeError): + return None + return v @field_validator( "unite_vente",