@@ -119,6 +119,79 @@ func AssertError(t *testing.T, errs ValidationErrors, key, field, expectedTag st
119119 EqualSkip (t , 2 , val .Tag , expectedTag )
120120}
121121
122+ func TestSliceMapArrayChanFuncPtrInterfaceRequiredValidation (t * testing.T ) {
123+
124+ var m map [string ]string
125+
126+ errs := validate .Field (m , "required" )
127+ NotEqual (t , errs , nil )
128+ AssertError (t , errs , "" , "" , "required" )
129+
130+ m = map [string ]string {}
131+ errs = validate .Field (m , "required" )
132+ Equal (t , errs , nil )
133+
134+ var arr [5 ]string
135+ errs = validate .Field (arr , "required" )
136+ NotEqual (t , errs , nil )
137+ AssertError (t , errs , "" , "" , "required" )
138+
139+ arr [0 ] = "ok"
140+ errs = validate .Field (arr , "required" )
141+ Equal (t , errs , nil )
142+
143+ var s []string
144+ errs = validate .Field (s , "required" )
145+ NotEqual (t , errs , nil )
146+ AssertError (t , errs , "" , "" , "required" )
147+
148+ s = []string {}
149+ errs = validate .Field (s , "required" )
150+ Equal (t , errs , nil )
151+
152+ var c chan string
153+ errs = validate .Field (c , "required" )
154+ NotEqual (t , errs , nil )
155+ AssertError (t , errs , "" , "" , "required" )
156+
157+ c = make (chan string )
158+ errs = validate .Field (c , "required" )
159+ Equal (t , errs , nil )
160+
161+ var tst * int
162+ errs = validate .Field (tst , "required" )
163+ NotEqual (t , errs , nil )
164+ AssertError (t , errs , "" , "" , "required" )
165+
166+ one := 1
167+ tst = & one
168+ errs = validate .Field (tst , "required" )
169+ Equal (t , errs , nil )
170+
171+ var iface interface {}
172+
173+ errs = validate .Field (iface , "required" )
174+ NotEqual (t , errs , nil )
175+ AssertError (t , errs , "" , "" , "required" )
176+
177+ errs = validate .Field (iface , "omitempty,required" )
178+ Equal (t , errs , nil )
179+
180+ errs = validate .Field (iface , "" )
181+ Equal (t , errs , nil )
182+
183+ var f func (string )
184+
185+ errs = validate .Field (f , "required" )
186+ NotEqual (t , errs , nil )
187+ AssertError (t , errs , "" , "" , "required" )
188+
189+ f = func (name string ) {}
190+
191+ errs = validate .Field (f , "required" )
192+ Equal (t , errs , nil )
193+ }
194+
122195func TestDatePtrValidationIssueValidation (t * testing.T ) {
123196
124197 type Test struct {
@@ -3262,14 +3335,14 @@ func TestStructSliceValidation(t *testing.T) {
32623335 Min : []int {1 , 2 },
32633336 Max : []int {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 },
32643337 MinMax : []int {1 , 2 , 3 , 4 , 5 },
3265- OmitEmpty : [] int {} ,
3338+ OmitEmpty : nil ,
32663339 }
32673340
32683341 errs := validate .Struct (tSuccess )
32693342 Equal (t , errs , nil )
32703343
32713344 tFail := & TestSlice {
3272- Required : [] int {} ,
3345+ Required : nil ,
32733346 Len : []int {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , 1 },
32743347 Min : []int {},
32753348 Max : []int {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , 1 },
0 commit comments