【问题标题】:User input validation with Relay使用 Relay 验证用户输入
【发布时间】:2016-02-06 23:27:12
【问题描述】:

从外观上看,使用 Relay 进行验证的最佳方法似乎是在您的架构中使用 custom GraphQL scalar types。是这样吗?

【问题讨论】:

  • 如果支持使用自定义标量类型的客户端验证,那就太好了。但我想这不是现在的选择?

标签: graphql relayjs graphql-js


【解决方案1】:

您应该认为这类似于使用 REST API 进行服务器端类型验证。

虽然您可以通过这种方式验证标量数据,但此代码在服务器而不是客户端上运行,它相当于例如一个 REST 后端拒绝一个 400 的请求。

在实践中,对于理想的用户体验,您可能希望在客户端进行一些此类验证,以便在可行时提供更多反馈(和更即时的反馈)。

【讨论】:

  • 是的,我当然在做客户端验证。但我也想要服务器端验证。在前端,我通过 react-validation 组件使用 Joi。那么我应该以同样的方式在我的根解析方法中验证有效负载吗?
  • 您绝对可以在您的变异解析器中进行额外的验证。例如,我看不出还有什么地方可以进行模式级验证。使用自定义标量类型有效地进行验证也完全没问题。
猜你喜欢
  • 2016-08-30
  • 2014-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
相关资源
最近更新 更多