'Register a decorated function as validating a new format.
:argument str format: the format that the decorated function will check
:argument Exception raises: the exception(s) raised by the decorated
function when an invalid instance is found. The exception object
will be accessible as the :attr:`ValidationError.cause` attribute
of the resulting validation error.'

def checks(self, format, raises=()):

    def _checks(func):
        self.checkers[format] = (func, raises)
        return func
    return _checks
