diff --git a/src/jesse_validator_draft3.erl b/src/jesse_validator_draft3.erl index 7a2b4ed2..d4e0bbaf 100644 --- a/src/jesse_validator_draft3.erl +++ b/src/jesse_validator_draft3.erl @@ -61,6 +61,8 @@ , JsonSchema :: jesse:json_term() , State :: jesse_state:state() ) -> jesse_state:state() | no_return(). +check_value(Value, [{?REF, RefSchemaURI} | _Attrs], State) -> + validate_ref(Value, RefSchemaURI, State); check_value(Value, [{?TYPE, Type} | Attrs], State) -> NewState = check_type(Value, Type, State), check_value(Value, Attrs, NewState); @@ -210,9 +212,6 @@ check_value(Value, [{?DISALLOW, Disallow} | Attrs], State) -> check_value(Value, [{?EXTENDS, Extends} | Attrs], State) -> NewState = check_extends(Value, Extends, State), check_value(Value, Attrs, NewState); -check_value(Value, [{?REF, RefSchemaURI} | Attrs], State) -> - NewState = validate_ref(Value, RefSchemaURI, State), - check_value(Value, Attrs, NewState); check_value(Value, [], State) -> maybe_external_check_value(Value, State); check_value(Value, [_Attr | Attrs], State) -> diff --git a/src/jesse_validator_draft4.erl b/src/jesse_validator_draft4.erl index 49c77903..d4a6ad79 100644 --- a/src/jesse_validator_draft4.erl +++ b/src/jesse_validator_draft4.erl @@ -78,6 +78,8 @@ , JsonSchema :: jesse:json_term() , State :: jesse_state:state() ) -> jesse_state:state() | no_return(). +check_value(Value, [{?REF, RefSchemaURI} | _Attrs], State) -> + validate_ref(Value, RefSchemaURI, State); check_value(Value, [{?TYPE, Type} | Attrs], State) -> NewState = check_type(Value, Type, State), check_value(Value, Attrs, NewState); @@ -247,9 +249,6 @@ check_value(Value, [{?ONEOF, Schemas} | Attrs], State) -> check_value(Value, [{?NOT, Schema} | Attrs], State) -> NewState = check_not(Value, Schema, State), check_value(Value, Attrs, NewState); -check_value(Value, [{?REF, RefSchemaURI} | Attrs], State) -> - NewState = validate_ref(Value, RefSchemaURI, State), - check_value(Value, Attrs, NewState); check_value(Value, [], State) -> maybe_external_check_value(Value, State); check_value(Value, [_Attr | Attrs], State) ->