|
@ -72,7 +72,7 @@ class ValidateFields: |
|
|
async def wrapper(*args, **kwargs): |
|
|
async def wrapper(*args, **kwargs): |
|
|
validate_model = kwargs.get(self.validate_model) |
|
|
validate_model = kwargs.get(self.validate_model) |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.validate_function): |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.validate_function): |
|
|
validate_function = getattr(validate_model, self.validate_function, None) |
|
|
validate_function = getattr(validate_model, self.validate_function) |
|
|
if validate_function is not None and callable(validate_function): |
|
|
if validate_function is not None and callable(validate_function): |
|
|
validate_function() |
|
|
validate_function() |
|
|
return await func(*args, **kwargs) |
|
|
return await func(*args, **kwargs) |
|
@ -107,51 +107,52 @@ class NetWork: |
|
|
@wraps(func) |
|
|
@wraps(func) |
|
|
def wrapper(*args, **kwargs): |
|
|
def wrapper(*args, **kwargs): |
|
|
validate_model = args[0] |
|
|
validate_model = args[0] |
|
|
if isinstance(validate_model, BaseModel): |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.field_name): |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
try: |
|
|
if field_value: |
|
|
if self.field_type == 'AnyUrl': |
|
|
try: |
|
|
NetWorkAnnotationModel(any_url=field_value) |
|
|
if self.field_type == 'AnyUrl': |
|
|
elif self.field_type == 'AnyHttpUrl': |
|
|
NetWorkAnnotationModel(any_url=field_value) |
|
|
NetWorkAnnotationModel(any_http_url=field_value) |
|
|
elif self.field_type == 'AnyHttpUrl': |
|
|
elif self.field_type == 'HttpUrl': |
|
|
NetWorkAnnotationModel(any_http_url=field_value) |
|
|
NetWorkAnnotationModel(http_url=field_value) |
|
|
elif self.field_type == 'HttpUrl': |
|
|
elif self.field_type == 'AnyWebsocketUrl': |
|
|
NetWorkAnnotationModel(http_url=field_value) |
|
|
NetWorkAnnotationModel(any_websocket_url=field_value) |
|
|
elif self.field_type == 'AnyWebsocketUrl': |
|
|
elif self.field_type == 'WebsocketUrl': |
|
|
NetWorkAnnotationModel(any_websocket_url=field_value) |
|
|
NetWorkAnnotationModel(websocket_url=field_value) |
|
|
elif self.field_type == 'WebsocketUrl': |
|
|
elif self.field_type == 'FileUrl': |
|
|
NetWorkAnnotationModel(websocket_url=field_value) |
|
|
NetWorkAnnotationModel(file_url=field_value) |
|
|
elif self.field_type == 'FileUrl': |
|
|
elif self.field_type == 'FtpUrl': |
|
|
NetWorkAnnotationModel(file_url=field_value) |
|
|
NetWorkAnnotationModel(ftp_url=field_value) |
|
|
elif self.field_type == 'FtpUrl': |
|
|
elif self.field_type == 'PostgresDsn': |
|
|
NetWorkAnnotationModel(ftp_url=field_value) |
|
|
NetWorkAnnotationModel(postgres_dsn=field_value) |
|
|
elif self.field_type == 'PostgresDsn': |
|
|
elif self.field_type == 'CockroachDsn': |
|
|
NetWorkAnnotationModel(postgres_dsn=field_value) |
|
|
NetWorkAnnotationModel(cockroach_dsn=field_value) |
|
|
elif self.field_type == 'CockroachDsn': |
|
|
elif self.field_type == 'AmqpDsn': |
|
|
NetWorkAnnotationModel(cockroach_dsn=field_value) |
|
|
NetWorkAnnotationModel(amqp_dsn=field_value) |
|
|
elif self.field_type == 'AmqpDsn': |
|
|
elif self.field_type == 'RedisDsn': |
|
|
NetWorkAnnotationModel(amqp_dsn=field_value) |
|
|
NetWorkAnnotationModel(redis_dsn=field_value) |
|
|
elif self.field_type == 'RedisDsn': |
|
|
elif self.field_type == 'MongoDsn': |
|
|
NetWorkAnnotationModel(redis_dsn=field_value) |
|
|
NetWorkAnnotationModel(mongo_dsn=field_value) |
|
|
elif self.field_type == 'MongoDsn': |
|
|
elif self.field_type == 'KafkaDsn': |
|
|
NetWorkAnnotationModel(mongo_dsn=field_value) |
|
|
NetWorkAnnotationModel(kafka_dsn=field_value) |
|
|
elif self.field_type == 'KafkaDsn': |
|
|
elif self.field_type == 'NatsDsn': |
|
|
NetWorkAnnotationModel(kafka_dsn=field_value) |
|
|
NetWorkAnnotationModel(nats_dsn=field_value) |
|
|
elif self.field_type == 'NatsDsn': |
|
|
elif self.field_type == 'MySQLDsn': |
|
|
NetWorkAnnotationModel(nats_dsn=field_value) |
|
|
NetWorkAnnotationModel(mysql_dsn=field_value) |
|
|
elif self.field_type == 'MySQLDsn': |
|
|
elif self.field_type == 'MariaDBDsn': |
|
|
NetWorkAnnotationModel(mysql_dsn=field_value) |
|
|
NetWorkAnnotationModel(mariadb_dsn=field_value) |
|
|
elif self.field_type == 'MariaDBDsn': |
|
|
elif self.field_type == 'ClickHouseDsn': |
|
|
NetWorkAnnotationModel(mariadb_dsn=field_value) |
|
|
NetWorkAnnotationModel(clickhouse_dsn=field_value) |
|
|
elif self.field_type == 'ClickHouseDsn': |
|
|
elif self.field_type == 'EmailStr': |
|
|
NetWorkAnnotationModel(clickhouse_dsn=field_value) |
|
|
NetWorkAnnotationModel(email_str=field_value) |
|
|
elif self.field_type == 'EmailStr': |
|
|
elif self.field_type == 'NameEmail': |
|
|
NetWorkAnnotationModel(email_str=field_value) |
|
|
NetWorkAnnotationModel(name_email=field_value) |
|
|
elif self.field_type == 'NameEmail': |
|
|
elif self.field_type == 'IPvAnyAddress': |
|
|
NetWorkAnnotationModel(name_email=field_value) |
|
|
NetWorkAnnotationModel(ipv_any_address=field_value) |
|
|
elif self.field_type == 'IPvAnyAddress': |
|
|
except (ValidationError, ValueError): |
|
|
NetWorkAnnotationModel(ipv_any_address=field_value) |
|
|
raise FieldValidatorException(message=self.message if self.message else f'{self.field_name}不是正确的{self.field_type}类型') |
|
|
except (ValidationError, ValueError): |
|
|
|
|
|
raise FieldValidatorException(message=self.message if self.message else f'{self.field_name}不是正确的{self.field_type}类型') |
|
|
return func(*args, **kwargs) |
|
|
return func(*args, **kwargs) |
|
|
return wrapper |
|
|
return wrapper |
|
|
|
|
|
|
|
@ -174,7 +175,7 @@ class NotBlank: |
|
|
@wraps(func) |
|
|
@wraps(func) |
|
|
def wrapper(*args, **kwargs): |
|
|
def wrapper(*args, **kwargs): |
|
|
validate_model = args[0] |
|
|
validate_model = args[0] |
|
|
if isinstance(validate_model, BaseModel): |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.field_name): |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
if field_value is None or field_value == '' or field_value == [] or field_value == () or field_value == {}: |
|
|
if field_value is None or field_value == '' or field_value == [] or field_value == () or field_value == {}: |
|
|
raise FieldValidatorException(message=self.message if self.message else f'{self.field_name}不能为空') |
|
|
raise FieldValidatorException(message=self.message if self.message else f'{self.field_name}不能为空') |
|
@ -202,7 +203,7 @@ class Pattern: |
|
|
@wraps(func) |
|
|
@wraps(func) |
|
|
def wrapper(*args, **kwargs): |
|
|
def wrapper(*args, **kwargs): |
|
|
validate_model = args[0] |
|
|
validate_model = args[0] |
|
|
if isinstance(validate_model, BaseModel): |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.field_name): |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
if isinstance(field_value, str) and not re.match(self.regexp, field_value): |
|
|
if isinstance(field_value, str) and not re.match(self.regexp, field_value): |
|
|
raise FieldValidatorException(message=self.message if self.message else f'{self.field_name}格式不正确') |
|
|
raise FieldValidatorException(message=self.message if self.message else f'{self.field_name}格式不正确') |
|
@ -242,7 +243,7 @@ class Size: |
|
|
@wraps(func) |
|
|
@wraps(func) |
|
|
def wrapper(*args, **kwargs): |
|
|
def wrapper(*args, **kwargs): |
|
|
validate_model = args[0] |
|
|
validate_model = args[0] |
|
|
if isinstance(validate_model, BaseModel): |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.field_name): |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
if isinstance(field_value, float): |
|
|
if isinstance(field_value, float): |
|
|
if self.gt is not None and field_value <= self.gt: |
|
|
if self.gt is not None and field_value <= self.gt: |
|
@ -282,7 +283,7 @@ class Xss: |
|
|
@wraps(func) |
|
|
@wraps(func) |
|
|
def wrapper(*args, **kwargs): |
|
|
def wrapper(*args, **kwargs): |
|
|
validate_model = args[0] |
|
|
validate_model = args[0] |
|
|
if isinstance(validate_model, BaseModel): |
|
|
if isinstance(validate_model, BaseModel) and hasattr(validate_model, self.field_name): |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
field_value = getattr(validate_model, self.field_name) |
|
|
if not StringUtil.is_blank(field_value): |
|
|
if not StringUtil.is_blank(field_value): |
|
|
pattern = re.compile(self.HTML_PATTERN) |
|
|
pattern = re.compile(self.HTML_PATTERN) |
|
|