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