fix(catalog) : M6 — code/name envoyés en chaîne vide (mapping 422 produit)
Le formulaire produit envoyait code/name à null quand vides (form.code || null). Or les setters back setCode(string)/setName(string) sont non-nullables : null déclenchait une erreur de type (dénormalisation, code générique mappé « Date invalide » côté front) qui court-circuitait toutes les autres violations — d'où seuls code/name affichés, en « Date invalide ». On envoie '' (form.code ?? '') : la contrainte NotBlank renvoie un message FR propre par champ, et la 422 porte les 6 violations d'un coup (code, name, states, category, sites, storageTypes), chacune mappée inline (vérifié API).
This commit is contained in:
@@ -127,8 +127,12 @@ export function useProductForm() {
|
||||
const editing = productId.value !== null
|
||||
try {
|
||||
const payload: Record<string, unknown> = {
|
||||
code: form.code || null,
|
||||
name: form.name || null,
|
||||
// Chaine vide (jamais null) : les setters back setCode/setName attendent
|
||||
// un `string` non-nullable -> envoyer null leverait une erreur de type
|
||||
// (denormalisation) qui court-circuiterait toutes les autres violations.
|
||||
// Avec '', la contrainte NotBlank renvoie un message propre par champ.
|
||||
code: form.code ?? '',
|
||||
name: form.name ?? '',
|
||||
states: form.states,
|
||||
// RG-6.03 : booleens forces a false hors « Vendu » (le back les
|
||||
// re-force, on garde le payload coherent).
|
||||
|
||||
Reference in New Issue
Block a user