Estoy tratando de validar la cantidad de dígitos para valores numéricos usando class-validator . Por ejemplo: mi entidad puede aceptar solo números de 6 dígitos para una propiedad determinada. De esta manera
const user1 = new User(); user1.code = 123456 // should be valid const user2 = new User(); user2.code = 12345 // should be invalid const user3 = new User(); user2.code = 1234567 // should be invalidIntenté usar una combinación de IsNumber, MinLength y MaxLength; pero no trabajado.
class User { @IsPositive() @IsNotEmpty() @IsNumber({ maxDecimalPlaces: 0 }) @MinLength(6) @MaxLength(6) public code: number; } Recibo un mensaje que dice que el code must be shorter than or equal to 6 characters .
¿Alguien puede ayudarme?
MinLength y MaxLength se usan para verificar la longitud de una cadena, mientras que la propiedad que está usando es un número. Sugeriría usar Min y Max en su lugar para verificar si es un número de seis dígitos. ( @Min(100000) y @Max(999999) deberían hacerlo)