-
+
{
-
+
{
-
+
(Number.isNaN(val) ? null : val)),
+ .transform((val) => (Number.isNaN(val) ? null : val))
+ .refine((val) => val === null || val >= 0, {
+ message: "Total amount must be 0 or greater",
+ }),
+
paymentDueDate: z.coerce.date().nullable(),
transportCharges: z
.number()
@@ -117,7 +121,7 @@ export const PurchaseSchema = z
path: ["baseAmount"],
});
}
- if (data.taxAmount === null || data.taxAmount === 0) {
+ if (data.taxAmount === null) {
ctx.addIssue({
code: z.ZodIssueCode.custom,
message: "Tax amount is required.",
@@ -133,13 +137,14 @@ export const PurchaseSchema = z
});
}
- if (data.transportCharges === null || data.transportCharges === 0) {
+ if (data.transportCharges === null) {
ctx.addIssue({
code: z.ZodIssueCode.custom,
message: "Transport charges are required.",
path: ["transportCharges"],
});
}
+ return;
}
});