mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Improve validation for the amount field in financial records
Update Zod schema for the 'amount' field to handle various invalid input formats and ensure positive numerical values. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/KZQgDPI
This commit is contained in:
1 parent
45fed62a7a
commit
af1783cb3f
2 files changed
+15
-13
No files matched your search
+15
-13
@@ -71,19 +71,21 @@ const avoirSchema = z.object({
|
||||
supplierId: z.coerce.number().min(1, "Veuillez sélectionner un fournisseur"),
|
||||
groupId: z.coerce.number().min(1, "Veuillez sélectionner un magasin"),
|
||||
invoiceReference: z.string().optional(),
|
||||
amount: z.string().transform((val) => {
|
||||
if (val === "" || val === null || val === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
const num = parseFloat(val);
|
||||
if (isNaN(num)) {
|
||||
throw new Error("Montant invalide");
|
||||
}
|
||||
if (num <= 0) {
|
||||
throw new Error("Le montant doit être supérieur à 0");
|
||||
}
|
||||
return num;
|
||||
}).optional(),
|
||||
amount: z.union([
|
||||
z.null().transform(() => undefined),
|
||||
z.undefined().transform(() => undefined),
|
||||
z.literal("").transform(() => undefined),
|
||||
z.string().transform((val) => {
|
||||
const num = parseFloat(val);
|
||||
if (isNaN(num)) {
|
||||
throw new Error("Montant invalide");
|
||||
}
|
||||
if (num <= 0) {
|
||||
throw new Error("Le montant doit être supérieur à 0");
|
||||
}
|
||||
return num;
|
||||
})
|
||||
]).optional(),
|
||||
comment: z.string().optional(),
|
||||
commercialProcessed: z.boolean().optional(),
|
||||
status: z.enum(["En attente de demande", "Demandé", "Reçu"]).optional(),
|
||||
|
||||
Reference in new issue
Block a user