知海

API 参考:校验(Validation)

graphql-github-io-zh-HansAPI 参考

API 参考:校验(Validation)

graphql/validation 模块负责完成一个 GraphQL 请求的验证阶段。你可以从 graphql/validation 模块导入,或者从根 graphql 模块导入,如下:

js 复制代码
import { validate } from 'graphql/validation'; // ES6
var { validate } = require('graphql/validation'); // CommonJS

概览

  • validate:根据给定 Schema 验证一个 AST(抽象语法树)。
  • specifiedRules:GraphQL 规范中描述的一系列标准验证规则。

验证

validate

js 复制代码
function validate(
  schema: GraphQLSchema,
  ast: Document,
  rules?: Array<any>
): Array<GraphQLError>

实现规范的“验证”章节。

验证过程会同步执行;如果发生错误则返回错误数组,如果文档有效、没有发生错误,则返回空数组。

如果未提供特定的验证规则,则执行 GraphQL 规范中的默认验证规则。

每个验证规则都是一个函数,返回一个 visitor(参见 language/visitor API)。visitor 方法应当在文档无效时返回一个 GraphQLError,或返回一个 GraphQLError 数组。

visitor 应当支持 visitSpreadFragments: true,这将改变 visitor 的行为:跳过顶层定义的片段,并访问这些片段在所有展开点上的内容。

specifiedRules

js 复制代码
var specifiedRules: Array<(context: ValidationContext): any>

这个集合包含了所有由 GraphQL 规范定义的验证规则。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。