🎬 That's a Wrap for GraphQLConf 2024! • Watch the Videos • Check out the recorded talks and workshops
graphql/validation

graphql/validation

The graphql/validation module fulfills the Validation phase of fulfilling a GraphQL result. You can import either from the graphql/validation module, or from the root graphql module. For example:

import { validate } from 'graphql/validation'; // ES6
const { validate } = require('graphql/validation'); // CommonJS

Overview

Validation

validate

function validate(
  schema: GraphQLSchema,
  ast: Document,
  rules?: any[],
): GraphQLError[];

Implements the “Validation” section of the spec.

Validation runs synchronously, returning an array of encountered errors, or an empty array if no errors were encountered and the document is valid.

A list of specific validation rules may be provided. If not provided, the default list of rules defined by the GraphQL specification will be used.

Each validation rules is a function which returns a visitor (see the language/visitor API). Visitor methods are expected to return GraphQLErrors, or Arrays of GraphQLErrors when invalid.

Visitors can also supply visitSpreadFragments: true which will alter the behavior of the visitor to skip over top level defined fragments, and instead visit those fragments at every point a spread is encountered.

specifiedRules

let specifiedRules: Array<(context: ValidationContext) => any>;

This set includes all validation rules defined by the GraphQL spec