from zope.interface import Attribute
from zope.interface import Interface


class IValidator(Interface):

    name = Attribute("name of the validator")
    title = Attribute("title or name of the validator")
    description = Attribute("description of the validator")

    def __call__(value, *args, **kwargs):
        """return True if valid, error string if not"""


class IValidationChain(IValidator):
    """Marker interface for a chain"""
