| package govalidator |
| |
| import "strings" |
| |
| // Errors is an array of multiple errors and conforms to the error interface. |
| type Errors []error |
| |
| // Errors returns itself. |
| func (es Errors) Errors() []error { |
| return es |
| } |
| |
| func (es Errors) Error() string { |
| var errs []string |
| for _, e := range es { |
| errs = append(errs, e.Error()) |
| } |
| return strings.Join(errs, ";") |
| } |
| |
| // Error encapsulates a name, an error and whether there's a custom error message or not. |
| type Error struct { |
| Name string |
| Err error |
| CustomErrorMessageExists bool |
| |
| // Validator indicates the name of the validator that failed |
| Validator string |
| } |
| |
| func (e Error) Error() string { |
| if e.CustomErrorMessageExists { |
| return e.Err.Error() |
| } |
| return e.Name + ": " + e.Err.Error() |
| } |