This is a directive validation library for GraphQL. Inspired by validate-directive.
Different with graphql-constraint-directive. It do validate on resolve field instead of creating new scaler.
yarn add graphql-validate-directive
or
npm i -S graphql-validate-directive
Use in the project.
import {
validateDirective,
GraphQLValidateDirectiveTypeDefs,
} from 'graphql-validate-directive'
import { makeExecutableSchema } from '@graphql-tools/schema'
const schema = makeExecutableSchema({
typeDefs: [
// ... your type definitions
GraphQLValidateDirectiveTypeDefs,
],
resolvers: {
// ...
},
})
validateDirective()(schema)
Use in schema.
# used on input field
input PostInput {
title: String! @validate(minLength: 1, maxLength: 1000)
content: String! @validate(minLength: 1, maxLength: 1000)
# used on array
tags: [String!]
@validate(minItems: 1, maxItems: 10, minLength: 1, maxLength: 100)
}
type Mutation {
createPost(input: PostInput!): Post
# used on argument
createMessage(
content: String! @validate(minLength: 1, maxLength: 200)
): Message
}
MIT Licensed.