mirror of
https://github.com/volatiletech/authboss.git
synced 2025-07-17 01:32:24 +02:00
Add some validation helpers
This commit is contained in:
@ -18,12 +18,20 @@ type Validator interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FieldError describes an error on a field
|
// FieldError describes an error on a field
|
||||||
|
// Typically .Error() has both Name() and Err() together, hence the reason
|
||||||
|
// for separation.
|
||||||
type FieldError interface {
|
type FieldError interface {
|
||||||
error
|
error
|
||||||
Name() string
|
Name() string
|
||||||
Err() error
|
Err() error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ErrorMap is a shortcut to change []error into ErrorList and call Map on it since
|
||||||
|
// this is a common operation.
|
||||||
|
func ErrorMap(e []error) map[string][]string {
|
||||||
|
return ErrorList(e).Map()
|
||||||
|
}
|
||||||
|
|
||||||
// ErrorList is simply a slice of errors with helpers.
|
// ErrorList is simply a slice of errors with helpers.
|
||||||
type ErrorList []error
|
type ErrorList []error
|
||||||
|
|
||||||
|
@ -78,3 +78,15 @@ func TestErrorList_Map(t *testing.T) {
|
|||||||
t.Error("Wrong unkown error at 0:", unknownErrs[0])
|
t.Error("Wrong unkown error at 0:", unknownErrs[0])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestErrorList_MapHelper(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
errList := []error{
|
||||||
|
mockFieldError{"username", errors.New("")},
|
||||||
|
mockFieldError{"username", errors.New("")},
|
||||||
|
mockFieldError{"password", errors.New("")},
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ map[string][]string = ErrorMap(errList)
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user