code: def validator(func, *args, **kwargs):
      
      def wrapper(func, *args, **kwargs):
          value = func(*args, **kwargs)
          if not value:
              return ValidationFailure(
                  func, func_args_as_dict(func, args, kwargs)
              )
          return True
      return decorator(wrapper, func)
docs: A decorator that makes given function validator.
  
      Whenever the given function is called and returns ``False`` value
      this decorator returns :class:`ValidationFailure` object.
  
      Example::
  
          >>> @validator
          ... def even(value):
          ...     return not (value % 2)
  
          >>> even(4)
          True
  
          >>> even(5)
          ValidationFailure(func=even, args={'value': 5})
  
      :param func: function to decorate
      :param args: positional function arguments
      :param kwargs: key value function arguments