code: func (constraints Constraints) GetError(err errors.Error) error {
  	if err.Kind() == errors.Unexpected || err.Kind() == errors.Changeset || err.Kind() == errors.NotFound {
  		return err
  	}
  
  	for _, c := range constraints {
  		if c.Kind == err.Kind() {
  			if c.Exact && c.Name != err.Field {
  				continue
  			}
  
  			if !c.Exact && !strings.Contains(err.Field, c.Name) {
  				continue
  			}
  
  			return errors.NewWithCode(c.Message, c.Field, c.Code, c.Kind)
  		}
  	}
  
  	return errors.NewUnexpected(err.Message)
  }
docs: // GetError converts error based on constraints.
  // If the original error is constraint error, and it's defined in the constraint list, then it'll be updated with constraint's message.
  // If the original error is constraint error but not defined in the constraint list, it'll be converted to unexpected error.
  // else it'll not modify the error.