如何使用类验证器装饰器比较 graphql 类型的输入类型中的字段

Posted

技术标签:

【中文标题】如何使用类验证器装饰器比较 graphql 类型的输入类型中的字段【英文标题】:How do you compare fields in an input type in type graphql using class validator decorators 【发布时间】:2020-07-13 01:38:03 【问题描述】:

我有这个示例输入类型:

@InputType() 

class ExampleInputType 

@Field(() => Number)
@IsInt()
fromAge: number

@Field(() => Number)
@IsInt()
toAge: number



在这个例子中,有没有办法比较 toAgefromAge 字段,使用来自像 class-validator 这样的验证器的装饰器?

【问题讨论】:

【参考方案1】:

恐怕你能得到的最大值是条件验证:

https://github.com/typestack/class-validator#conditional-validation

【讨论】:

【参考方案2】:

我认为您可以使用自定义验证器来处理这个问题。 这是一个关于比较密码和密码确认的链接。 您可以为您的比较验证器更改它。

Password confirmation in TypeScript with `class-validator`

【讨论】:

以上是关于如何使用类验证器装饰器比较 graphql 类型的输入类型中的字段的主要内容,如果未能解决你的问题,请参考以下文章

如果字段可以为空,则验证期间的装饰器仍然有效

如何在没有守卫装饰器的情况下始终验证 JWT? (Nest.js + 护照)

如何在graphql中将装饰器添加到args参数

使用多个装饰器将 Type-GraphQL 与 Typegoose 相结合

基于类的视图django中的JWT验证

NestJS 中与 GraphQL 的 Prisma 自关系