summaryrefslogtreecommitdiff
path: root/day9/task5_vue/backend/database/validators.py
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2019-07-23 12:26:38 +0400
committerAndrew <saintruler@gmail.com>2019-07-23 12:26:38 +0400
commit38055bcd23527a36d77468ce2dfd0b4766e7fc00 (patch)
tree5cc6d3c69fcdb66ea6b666c23c8996918b4096f2 /day9/task5_vue/backend/database/validators.py
parent3bc79068d5d7bae4bb4ecd3a50ff1c7cade4a3a7 (diff)
Бэкенд:
Добавлены тесты, исправлены ошибки в валидаторах и полях схем баз данных. Фронтенд: Добавлен компонент для показа всплывающих сообщений.
Diffstat (limited to 'day9/task5_vue/backend/database/validators.py')
-rw-r--r--day9/task5_vue/backend/database/validators.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/day9/task5_vue/backend/database/validators.py b/day9/task5_vue/backend/database/validators.py
index e4b7310..112af2b 100644
--- a/day9/task5_vue/backend/database/validators.py
+++ b/day9/task5_vue/backend/database/validators.py
@@ -32,8 +32,12 @@ class ValidateType(Validator):
class ValidateLength(Validator):
@staticmethod
def validate(value, field_object):
+ if hasattr(field_object, 'is_variable_length') and not field_object.is_variable_length:
+ if len(str(value)) < field_object.max_length:
+ raise ValidationError('Value has too few characters')
+
if len(str(value)) > field_object.max_length:
- raise ValidationError('Value has too many digits')
+ raise ValidationError('Value has too many characters')
class ValidateTime(Validator):
@@ -65,14 +69,14 @@ class ValidateDate(Validator):
if year < 0:
raise ValidationError('Wrong year value')
- if month not in range(1, 12):
+ if month not in range(1, 12 + 1):
raise ValidationError('Wrong month value')
if month == 2:
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
- febr_range = range(1, 29)
+ febr_range = range(1, 29 + 1)
else:
- febr_range = range(1, 28)
+ febr_range = range(1, 28 + 1)
if day not in febr_range:
raise ValidationError('Wrong day value')
else:
@@ -81,7 +85,7 @@ class ValidateDate(Validator):
6: 30, 7: 31, 8: 31, 9: 30,
10: 31, 11: 30, 12: 31
}.get(month)
- if day not in range(1, days_count):
+ if day not in range(1, days_count + 1):
raise ValidationError('Wrong day value')
@@ -93,4 +97,4 @@ class ValidateDatetime(Validator):
raise ValidationError('Wrong datetime format')
else:
ValidateDate.validate(datetime[0], {})
- ValidateTime.validate(datetime[1], {}) \ No newline at end of file
+ ValidateTime.validate(datetime[1], {})