Skip to content

Commit 3155f2e

Browse files
Dragomir-Ivanovsmyrman
authored andcommitted
Fix pointer validator acceptance for schema.Array
Closes #240
1 parent 8cf30f2 commit 3155f2e

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

schema/array.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,7 @@ type Array struct {
1818

1919
// Compile implements the ReferenceCompiler interface.
2020
func (v *Array) Compile(rc ReferenceChecker) (err error) {
21-
if c, ok := v.Values.Validator.(Compiler); ok {
22-
if err = c.Compile(rc); err != nil {
23-
return
24-
}
25-
}
26-
return
21+
return v.Values.Compile(rc)
2722
}
2823

2924
func (v Array) validateValues(values []interface{}, query bool) ([]interface{}, error) {

schema/array_test.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ func TestArrayValidatorCompile(t *testing.T) {
1919
Name: "Values.Validator=&String{Regexp:invalid}",
2020
Compiler: &schema.Array{Values: schema.Field{Validator: &schema.String{Regexp: "[invalid re"}}},
2121
ReferenceChecker: fakeReferenceChecker{},
22-
Error: "invalid regexp: error parsing regexp: missing closing ]: `[invalid re`",
22+
Error: ": invalid regexp: error parsing regexp: missing closing ]: `[invalid re`",
23+
},
24+
{
25+
Name: "Values.Validator=String{}",
26+
Compiler: &schema.Array{Values: schema.Field{Validator: schema.String{}}},
27+
ReferenceChecker: fakeReferenceChecker{},
28+
Error: ": not a schema.Validator pointer",
2329
},
2430
}
2531
for i := range testCases {

0 commit comments

Comments
 (0)