Add interface Error

This commit is contained in:
2024-04-29 10:39:25 +03:00
parent 5e68cbcb5c
commit be8bffac4e
3 changed files with 20 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
[project]
name = "validator"
version = "1.0"
version = "2.0"
authors = [
{ name="RemiZOffAlex", email="remizoffalex@gmail.com" },
]

View File

@@ -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)

View File

@@ -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()