@@ -192,57 +192,6 @@ func (e *FieldError) Error() string {
192192 return fmt .Sprintf (fieldErrMsg , e .Field , e .Tag )
193193}
194194
195- // func (e *FieldError) flatten(isFromStruct bool) map[string]*FieldError {
196-
197- // errs := map[string]*FieldError{}
198-
199- // if e.IsPlaceholderErr {
200-
201- // if e.IsSliceOrArray {
202- // for key, err := range e.SliceOrArrayErrs {
203-
204- // fe, ok := err.(*FieldError)
205-
206- // if ok {
207-
208- // if flat := fe.flatten(isFromStruct); flat != nil && len(flat) > 0 {
209- // for k, v := range flat {
210- // errs[fmt.Sprintf("[%#v]%s", key, k)] = v
211- // }
212- // }
213- // } else {
214-
215- // se := err.(*StructErrors)
216-
217- // if flat := se.flatten(isFromStruct); flat != nil && len(flat) > 0 {
218- // for k, v := range flat {
219- // errs[fmt.Sprintf("[%#v].%s.%s", key, se.Struct, k)] = v
220- // }
221- // }
222- // }
223- // }
224-
225- // }
226-
227- // if e.IsMap {
228- // // for _, err := range e.MapErrs {
229-
230- // // if flat := err.Flatten(); flat != nil && len(flat) > 0 {
231- // // for k, v := range flat {
232- // // errs[k] = v
233- // // }
234- // // }
235- // // }
236- // }
237-
238- // return errs
239- // }
240-
241- // errs[e.Field] = e
242-
243- // return errs
244- // }
245-
246195// Flatten flattens the FieldError hierarchical structure into a flat namespace style field name
247196// for those that want/need it.
248197// This is now needed because of the new dive functionality
@@ -273,7 +222,7 @@ func (e *FieldError) Flatten() map[string]*FieldError {
273222
274223 se := err .(* StructErrors )
275224
276- if flat := se .flatten ( false ); flat != nil && len (flat ) > 0 {
225+ if flat := se .Flatten ( ); flat != nil && len (flat ) > 0 {
277226 for k , v := range flat {
278227 errs [fmt .Sprintf ("[%#v].%s.%s" , key , se .Struct , k )] = v
279228 }
@@ -302,7 +251,7 @@ func (e *FieldError) Flatten() map[string]*FieldError {
302251
303252 se := err .(* StructErrors )
304253
305- if flat := se .flatten ( false ); flat != nil && len (flat ) > 0 {
254+ if flat := se .Flatten ( ); flat != nil && len (flat ) > 0 {
306255 for k , v := range flat {
307256 errs [fmt .Sprintf ("[%#v].%s.%s" , key , se .Struct , k )] = v
308257 }
@@ -348,7 +297,10 @@ func (e *StructErrors) Error() string {
348297 return strings .TrimSpace (buff .String ())
349298}
350299
351- func (e * StructErrors ) flatten (isFromStruct bool ) map [string ]* FieldError {
300+ // Flatten flattens the StructErrors hierarchical structure into a flat namespace style field name
301+ // for those that want/need it
302+ func (e * StructErrors ) Flatten () map [string ]* FieldError {
303+
352304 if e == nil {
353305 return nil
354306 }
@@ -361,12 +313,6 @@ func (e *StructErrors) flatten(isFromStruct bool) map[string]*FieldError {
361313
362314 for k , fe := range flat {
363315
364- // fmt.Println(k)
365- // if isFromStruct && k[0:1] == "[" {
366- // errs[f.Field+k] = fe
367- // } else {
368- // errs[k] = fe
369- // }
370316 if f .IsPlaceholderErr {
371317 errs [f .Field + k ] = fe
372318 } else {
@@ -378,7 +324,7 @@ func (e *StructErrors) flatten(isFromStruct bool) map[string]*FieldError {
378324
379325 for key , val := range e .StructErrors {
380326
381- otherErrs := val .flatten ( isFromStruct )
327+ otherErrs := val .Flatten ( )
382328
383329 for _ , f2 := range otherErrs {
384330
@@ -390,12 +336,6 @@ func (e *StructErrors) flatten(isFromStruct bool) map[string]*FieldError {
390336 return errs
391337}
392338
393- // Flatten flattens the StructErrors hierarchical structure into a flat namespace style field name
394- // for those that want/need it
395- func (e * StructErrors ) Flatten () map [string ]* FieldError {
396- return e .flatten (true )
397- }
398-
399339// Func accepts all values needed for file and cross field validation
400340// top = top level struct when validating by struct otherwise nil
401341// current = current level struct when validating by struct otherwise optional comparison value
0 commit comments