你好!我有一个关于类验证器的问题
我的客户将请求多个数字,我需要相互比较值。
我想要如下代码。
const validator: SomeValidator = new SomeValidator;
validator.first = 1000;
validator.second = 2000; // this will be greater than validator.first
validator.third = 3000; // this will be greater than validator.second
我尝试在@Min() 验证器中输入变量,如下所示
import { IsInt, Min } from 'class-validator';
class SomeValidator {
@IsInt()
@Min(0)
public first: number;
@IsInt()
@Min(this.first) // it occurs TS7017
public second: number;
@IsInt()
@Min(this.second) // it occurs TS7017
public third: number;
}
我得到了TS7017 错误。
TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature.
有没有完美的方法来处理这个?
我知道有如下简单的方法,但我希望有一些方法可以使用类验证器。
if ((first > second) || (second > third)) {
res.status(400).json({
message: 'validation failed',
});
return next(new Error('some error'));