From 15766bfbbc494c6c9968906a2fdd762fd0590882 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Mon, 29 Jun 2015 23:59:33 -0700 Subject: [PATCH] Don't repeat field name in errors --- pkg/api/errors/errors.go | 2 +- pkg/util/fielderrors/fielderrors.go | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/api/errors/errors.go b/pkg/api/errors/errors.go index c43a07ba9c6..3fc012bb7e9 100644 --- a/pkg/api/errors/errors.go +++ b/pkg/api/errors/errors.go @@ -165,7 +165,7 @@ func NewInvalid(kind, name string, errs fielderrors.ValidationErrorList) error { if err, ok := errs[i].(*fielderrors.ValidationError); ok { causes = append(causes, api.StatusCause{ Type: api.CauseType(err.Type), - Message: err.Error(), + Message: err.ErrorBody(), Field: err.Field, }) } diff --git a/pkg/util/fielderrors/fielderrors.go b/pkg/util/fielderrors/fielderrors.go index e126f8c033b..0c548482fb7 100644 --- a/pkg/util/fielderrors/fielderrors.go +++ b/pkg/util/fielderrors/fielderrors.go @@ -90,12 +90,16 @@ type ValidationError struct { var _ error = &ValidationError{} func (v *ValidationError) Error() string { + return fmt.Sprintf("%s: %s", v.Field, v.ErrorBody()) +} + +func (v *ValidationError) ErrorBody() string { var s string switch v.Type { case ValidationErrorTypeRequired, ValidationErrorTypeTooLong: - s = spew.Sprintf("%s: %s", v.Field, v.Type) + s = spew.Sprintf("%s", v.Type) default: - s = spew.Sprintf("%s: %s '%+v'", v.Field, v.Type, v.BadValue) + s = spew.Sprintf("%s '%+v'", v.Type, v.BadValue) } if len(v.Detail) != 0 { s += fmt.Sprintf(": %s", v.Detail)