Limit field errors to a single field name

This commit is contained in:
Jordan Liggitt
2015-08-12 11:26:23 -04:00
parent 5c08d276a0
commit d7a50c4778
3 changed files with 14 additions and 17 deletions

View File

@@ -148,7 +148,6 @@ func NewFieldTooLong(field string, value interface{}, maxLength int) *Validation
type ValidationErrorList []error
// Prefix adds a prefix to the Field of every ValidationError in the list.
// Also adds prefixes to multiple fields if you send an or separator.
// Returns the list for convenience.
func (list ValidationErrorList) Prefix(prefix string) ValidationErrorList {
for i := range list {
@@ -156,11 +155,7 @@ func (list ValidationErrorList) Prefix(prefix string) ValidationErrorList {
if strings.HasPrefix(err.Field, "[") {
err.Field = prefix + err.Field
} else if len(err.Field) != 0 {
fields := strings.SplitAfter(err.Field, " or ")
err.Field = ""
for j := range fields {
err.Field += prefix + "." + fields[j]
}
err.Field = prefix + "." + err.Field
} else {
err.Field = prefix
}