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())) } }