class-validator:验证数值的位数
class-validator: validate number of digits for numeric values
我正在尝试使用 class-validator
验证数值的位数。例如:对于给定的 属性,我的实体只能接受 6 位数字。这样
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 invalid
我试过结合使用 IsNumber、MinLength 和 MaxLength;但没有用。
class User {
@IsPositive()
@IsNotEmpty()
@IsNumber({ maxDecimalPlaces: 0 })
@MinLength(6)
@MaxLength(6)
public code: number;
}
我收到一条消息说 code must be shorter than or equal to 6 characters
。
谁能帮帮我?
MinLength 和 MaxLength 用于检查字符串的长度,而您使用的 属性 是一个数字。
我建议改用 Min 和 Max 来检查它是否是六位数字。 (@Min(100000) 和@Max(999999) 应该这样做)
我正在尝试使用 class-validator
验证数值的位数。例如:对于给定的 属性,我的实体只能接受 6 位数字。这样
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 invalid
我试过结合使用 IsNumber、MinLength 和 MaxLength;但没有用。
class User {
@IsPositive()
@IsNotEmpty()
@IsNumber({ maxDecimalPlaces: 0 })
@MinLength(6)
@MaxLength(6)
public code: number;
}
我收到一条消息说 code must be shorter than or equal to 6 characters
。
谁能帮帮我?
MinLength 和 MaxLength 用于检查字符串的长度,而您使用的 属性 是一个数字。 我建议改用 Min 和 Max 来检查它是否是六位数字。 (@Min(100000) 和@Max(999999) 应该这样做)