如何使用isValidJSValue在我的客户端代码中验证查询变量?

时间:2016-07-13 00:34:39

标签: graphql graphql-js

我正在为将要查询GraphQL服务器的应用编写客户端代码。在我的代码中的几个地方,我传递的数据最终会转变为查询变量,因此需要针对我的架构中的特定GraphQLInputType进行验证。在查看graphql-js提供的一些实用程序时,看起来isValidJSValue检查器正是我正在寻找的,and its comments even mention它本来就是用来做那个。

问题是我无法访问我想要作为JS对象验证的GraphQL类型,这是我非常肯定函数正在寻找的东西。我将我的架构(作为npm depdendency)导入为JSON,或者我也在架构表示法中使用它。是否有一些其他实用程序可用于从其中一个源获取我需要的JS类型,然后使用它来检查我的数据isValidJSValue?或者我还有其他一些方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用已导入的JSON模式在buildClientSchema处使用types构建实际的GraphQL模式实例:https://github.com/graphql/graphql-js/blob/master/src/utilities/buildClientSchema.js

然后,查看结果架构的isValidJSValue字段以查找输入类型,然后在其上调用$(slideId).css('display', 'block'); $('div.slide:not(slideId)').css('display', 'none'); 应该是一件简单的事情。

我很好奇 - 为什么在发送之前验证客户端上的值,而不是仅依靠服务器将进行的验证?