diff --git a/src/main/java/graphql/validation/schemawiring/TrivialFieldValidatorDataFetcher.java b/src/main/java/graphql/validation/schemawiring/TrivialFieldValidatorDataFetcher.java new file mode 100644 index 0000000..1a6a98c --- /dev/null +++ b/src/main/java/graphql/validation/schemawiring/TrivialFieldValidatorDataFetcher.java @@ -0,0 +1,15 @@ +package graphql.validation.schemawiring; + +import graphql.TrivialDataFetcher; +import graphql.schema.DataFetcher; +import graphql.validation.interpolation.MessageInterpolator; +import graphql.validation.rules.OnValidationErrorStrategy; +import graphql.validation.rules.ValidationRules; + +import java.util.Locale; + +public class TrivialFieldValidatorDataFetcher extends FieldValidatorDataFetcher implements TrivialDataFetcher { + public TrivialFieldValidatorDataFetcher(OnValidationErrorStrategy errorStrategy, MessageInterpolator messageInterpolator, DataFetcher defaultDataFetcher, Locale defaultLocale, ValidationRules validationRules) { + super(errorStrategy, messageInterpolator, defaultDataFetcher, defaultLocale, validationRules); + } +} diff --git a/src/main/java/graphql/validation/schemawiring/ValidationSchemaWiring.java b/src/main/java/graphql/validation/schemawiring/ValidationSchemaWiring.java index 36cf6ba..30867b9 100644 --- a/src/main/java/graphql/validation/schemawiring/ValidationSchemaWiring.java +++ b/src/main/java/graphql/validation/schemawiring/ValidationSchemaWiring.java @@ -1,6 +1,7 @@ package graphql.validation.schemawiring; import graphql.PublicApi; +import graphql.TrivialDataFetcher; import graphql.schema.DataFetcher; import graphql.schema.GraphQLFieldDefinition; import graphql.schema.GraphQLFieldsContainer; @@ -8,7 +9,6 @@ import graphql.schema.idl.SchemaDirectiveWiringEnvironment; import graphql.validation.interpolation.MessageInterpolator; import graphql.validation.rules.OnValidationErrorStrategy; -import graphql.validation.rules.TargetedValidationRules; import graphql.validation.rules.ValidationRules; import java.util.Locale; @@ -51,6 +51,16 @@ private DataFetcher buildValidatingDataFetcher(OnValidationErrorStrategy MessageInterpolator messageInterpolator, DataFetcher currentDF, final Locale defaultLocale) { + if (currentDF instanceof TrivialDataFetcher) { + return new TrivialFieldValidatorDataFetcher( + errorStrategy, + messageInterpolator, + currentDF, + defaultLocale, + ruleCandidates + ); + } + return new FieldValidatorDataFetcher( errorStrategy, messageInterpolator,