diff --git a/atst/forms/validators.py b/atst/forms/validators.py index 99265769..82dc1182 100644 --- a/atst/forms/validators.py +++ b/atst/forms/validators.py @@ -1,7 +1,10 @@ +from datetime import datetime import re + +from werkzeug.datastructures import FileStorage from wtforms.validators import ValidationError, StopValidation import pendulum -from datetime import datetime + from atst.utils.localization import translate @@ -103,7 +106,7 @@ def RequiredIf(criteria_function, message=translate("forms.validators.is_require def FileLength(max_length=50000000, message=None): def _file_length(_form, field): - if field.data is None: + if field.data is None or not isinstance(field.data, FileStorage): return True content = field.data.read() diff --git a/tests/forms/test_validators.py b/tests/forms/test_validators.py index c57fe5e0..8f0ae0e5 100644 --- a/tests/forms/test_validators.py +++ b/tests/forms/test_validators.py @@ -100,3 +100,6 @@ class TestFileLength: with pytest.raises(ValidationError): validator(dummy_form, dummy_field) + + dummy_field.data = "random string" + assert validator(dummy_form, dummy_field)