Don't repeat field name in errors

pull/6/head
Tim Hockin 2015-06-29 23:59:33 -07:00
parent f41c0d0202
commit 15766bfbbc
2 changed files with 7 additions and 3 deletions

View File

@ -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,
})
}

View File

@ -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)