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
|
const editing = productId.value !== null
|
||||||
try {
|
try {
|
||||||
const payload: Record<string, unknown> = {
|
const payload: Record<string, unknown> = {
|
||||||
code: form.code || null,
|
// Chaine vide (jamais null) : les setters back setCode/setName attendent
|
||||||
name: form.name || null,
|
// 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,
|
states: form.states,
|
||||||
// RG-6.03 : booleens forces a false hors « Vendu » (le back les
|
// RG-6.03 : booleens forces a false hors « Vendu » (le back les
|
||||||
// re-force, on garde le payload coherent).
|
// re-force, on garde le payload coherent).
|
||||||
|
|||||||
Reference in New Issue
Block a user