首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >typeGraphql如何更改字段验证的消息

typeGraphql如何更改字段验证的消息
EN

Stack Overflow用户
提问于 2021-07-28 00:30:59
回答 1查看 22关注 0票数 1

我正在使用一个带有字段的InputType:

代码语言:javascript
复制
@InputType('RegisterInput')
export default class RegisterInput {
    @Field({nullable: true})
    username: string
    @Field({nullable: true})
    password: string
    @Field({nullable: true})
    age?: number
}

当年龄不是一个数字时,我会得到一个错误,比如:

代码语言:javascript
复制
UserInputError {
  message: 'Variable "$registerInput" got invalid value "text" at "registerInput.age"; Int cannot represent non-integer value: "text"',
  locations: [ { line: 1, column: 19 } ],
  path: undefined,
  extensions: { code: 'BAD_USER_INPUT' }
}

如何将消息更改为更友好的用户?我尝试的所有类型的中间件和类验证仍然首先产生这个错误,然后产生任何其他错误。

如果我可以禁用它并在我的中间件中进行验证,那就更好了。

我尝试使用graphql-中间件,但仍然只有在验证之后才会调用中间件。

EN

回答 1

Stack Overflow用户

发布于 2021-08-22 09:44:24

您不能轻易改变这一点,因为它是来自graphql-js的标准GraphQL查询验证。它会静态分析您查询,并查看您没有提供一些输入或提供了错误类型的变量。

它发生在整个graphql执行流水线之前,中间件和其他工具开始发挥作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68548668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档