diff --git a/modules/core/src/common/dto/base.schemas.ts b/modules/core/src/common/dto/base.schemas.ts index 867561e4..e842368d 100644 --- a/modules/core/src/common/dto/base.schemas.ts +++ b/modules/core/src/common/dto/base.schemas.ts @@ -3,15 +3,17 @@ import { z } from "zod/v4"; /** * Cadena con valor numérico: * - * - Acepta: "" o "123456" (solo dígitos). - * - Rechaza: "1 23", "abc123", "12v34", "+123", "12.3" + * - Acepta: "", "123456", "-2433", "-1", "0" (solo dígitos y simbolo negativo). + * - Rechaza: "1 23", "abc123", "12v34", "+123", "12.3", "- 22" * * */ export const NumericStringSchema = z .string() .trim() - .regex(/^\d*$/, { message: "Must be empty or contain only digits (0-9)." }); + .regex(/^$|^-?\d+$/, { + message: "Must be empty or contain only digits (optionally prefixed with '-').", + }); // Cantidad de dinero (base): solo para la cantidad y la escala, sin moneda export const AmountBaseSchema = z.object({