Source code for concrete_settings.validators.validator

from typing import TYPE_CHECKING, Optional

from typing_extensions import Protocol


if TYPE_CHECKING:
    from ..settings import Settings
    from .. import Setting


[docs]class Validator(Protocol): """A validator is a callable that raises an exception if a value is wrong. A validator accepts a value as a mandatory argument, and keyword-only arguments referring to settings, setting and setting's name."""
[docs] def __call__( self, value, *, name: Optional[str] = None, owner: Optional['Settings'] = None, setting: Optional['Setting'] = None, ): """Validate a value. Raise `ValidationError` if value is wrong.""" ...