@abstractmethod<EOL><INDENT>def validate(self, value, model=None, context=None):<DEDENT>
raise NotImplemented<EOL>
Validate
Abstract validation method: implement this in your concrete
validators. Performs validation of provided value optionally with
context (object being validated) and returns a result Error object
that evaluates to boolean.

:param value:               a value to validate
:param model:               parent model of the property
:param context:             parent model or custom context
:return:                    shiftschema.result.Error