Skip to content

Commit 292a41f

Browse files
authored
Import external references in the right order (#530)
1 parent 46bf91a commit 292a41f

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

internal/fields/validate.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ func (v *Validator) validateScalarElement(key string, val interface{}) error {
195195
return fmt.Errorf(`field "%s" is undefined`, key)
196196
}
197197

198+
if !v.disabledDependencyManagement && definition.External != "" {
199+
def, err := v.FieldDependencyManager.ImportField(definition.External, key)
200+
if err != nil {
201+
return errors.Wrapf(err, "can't import field (field: %s)", key)
202+
}
203+
definition = &def
204+
}
205+
198206
// Convert numeric keyword fields to string for validation.
199207
_, found := v.numericKeywordFields[key]
200208
if (found || v.defaultNumericConversion) && isNumericKeyword(*definition, val) {
@@ -283,14 +291,6 @@ func (v *Validator) parseElementValue(key string, definition FieldDefinition, va
283291
return nil // it's an array, but it's not possible to extract the single value.
284292
}
285293

286-
if !v.disabledDependencyManagement && definition.External != "" {
287-
var err error
288-
definition, err = v.FieldDependencyManager.ImportField(definition.External, key)
289-
if err != nil {
290-
return errors.Wrapf(err, "can't import field (field: %s)", key)
291-
}
292-
}
293-
294294
var valid bool
295295
switch definition.Type {
296296
case "constant_keyword":

0 commit comments

Comments
 (0)