class Product {
@Min(0, { message: 'should be positive number' })
@IsNotEmpty({ message: 'should not be empty' })
@Type(() => Number)
price: number;
}
*在这种情况下,price
来自输入值,所以它最初应该是字符串。
我想通过类验证器显示以下情况的错误消息,但只有@IsNotEmpty
不起作用。
- 如果字段为空,则显示"不应为空">
- 如果字段不为空&;字段值为负数,显示"应为正数">
为什么@IsNotEmpty
不能使用@Type
类型的函数?
我认为您混淆了class-validator
和class-transformer
的装饰器。
我的理解是@Type
仅由class-transformer
用于帮助转换嵌套对象的类型。撇开这个问题不谈,我认为你申报验证器的顺序很重要。这应该有效:
class Product {
@IsNotEmpty({ message: 'should not be empty' })
@Min(0, { message: 'should be positive number' })
price: number;
}