From 59bab8790f5ed5c4ad43d8dcd1125c8822b560b4 Mon Sep 17 00:00:00 2001 From: Nilson Soares Ruas Junior Date: Fri, 6 Mar 2020 09:36:49 -0300 Subject: [PATCH] adding sort to error slice --- .gitignore | 1 + validator.go | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 8365624..9249d6e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Folders _obj _test +_.idea # Architecture specific extensions/prefixes *.[568vq] diff --git a/validator.go b/validator.go index 992fcc2..3492bcb 100644 --- a/validator.go +++ b/validator.go @@ -22,6 +22,7 @@ import ( "fmt" "reflect" "regexp" + "sort" "strings" ) @@ -83,9 +84,17 @@ type ErrorMap map[string]ErrorArray func (err ErrorMap) Error() string { var b bytes.Buffer - for k, errs := range err { - if len(errs) > 0 { - b.WriteString(fmt.Sprintf("%s: %s, ", k, errs.Error())) + var keys []string + for k := range err { + keys = append(keys, k) + } + sort.Strings(keys) + + for _, k := range keys { + sortedErr := err[k] + + if len(sortedErr) > 0 { + b.WriteString(fmt.Sprintf("%s: %s, ", k, sortedErr.Error())) } }