Add interface Error
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "validator"
|
||||
version = "1.0"
|
||||
version = "2.0"
|
||||
authors = [
|
||||
{ name="RemiZOffAlex", email="remizoffalex@gmail.com" },
|
||||
]
|
||||
|
||||
@@ -7,6 +7,14 @@ import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Error:
|
||||
def __init__(self, message: str = ''):
|
||||
self.message = message
|
||||
|
||||
def __repr__(self):
|
||||
return "Result validation is error: {}".format(self.message)
|
||||
|
||||
|
||||
class Validator:
|
||||
def __init__(self, rules: list = [], debug: bool = False):
|
||||
self.rules = rules
|
||||
@@ -20,15 +28,14 @@ class Validator:
|
||||
if self.debug:
|
||||
log.info('rule: {}'.format(rule))
|
||||
result = rule(value)
|
||||
if result.status is False:
|
||||
if isinstance(result, Error):
|
||||
return result
|
||||
return Result(True)
|
||||
return Result()
|
||||
|
||||
|
||||
class Result:
|
||||
def __init__(self, status: bool = True, message: str = ''):
|
||||
self.status = status
|
||||
def __init__(self, message: str = ''):
|
||||
self.message = message
|
||||
|
||||
def __repr__(self):
|
||||
return "Result validation is {}".format(self.status)
|
||||
return "Result validation is ok: {}".format(self.message)
|
||||
|
||||
@@ -3,7 +3,7 @@ __email__ = 'remizoffalex@mail.ru'
|
||||
|
||||
import logging
|
||||
|
||||
from ..core import Result
|
||||
from ..core import Result, Error
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -15,8 +15,8 @@ class EqualTo:
|
||||
|
||||
def __call__(self, value):
|
||||
if self.value != value:
|
||||
return Result(False, self.message)
|
||||
return Result(True)
|
||||
return Error(self.message)
|
||||
return Result()
|
||||
|
||||
|
||||
class MaxLength:
|
||||
@@ -26,8 +26,8 @@ class MaxLength:
|
||||
|
||||
def __call__(self, value):
|
||||
if len(value) > self.limit:
|
||||
return Result(False, self.message)
|
||||
return Result(True)
|
||||
return Error(self.message)
|
||||
return Result()
|
||||
|
||||
|
||||
class MinLength():
|
||||
@@ -37,5 +37,5 @@ class MinLength():
|
||||
|
||||
def __call__(self, value):
|
||||
if len(value) < self.limit:
|
||||
return Result(False, self.message)
|
||||
return Result(True)
|
||||
return Error(self.message)
|
||||
return Result()
|
||||
|
||||
Reference in New Issue
Block a user