1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package valid
- var ErrNotInInvalid = NewError("validation_not_in_invalid", "must not be in list")
- func NotIn(values ...interface{}) NotInRule {
- return NotInRule{
- elements: values,
- err: ErrNotInInvalid,
- }
- }
- type NotInRule struct {
- elements []interface{}
- err Error
- }
- func (r NotInRule) Validate(value interface{}) error {
- value, isNil := Indirect(value)
- if isNil || IsEmpty(value) {
- return nil
- }
- for _, e := range r.elements {
- if e == value {
- return r.err
- }
- }
- return nil
- }
- func (r NotInRule) Error(message string) NotInRule {
- r.err = r.err.SetMessage(message)
- return r
- }
- func (r NotInRule) ErrorObject(err Error) NotInRule {
- r.err = err
- return r
- }
|