Allow Falsey values for IsNumber validator

We should use Required() instead to ensure data is present, if that's the
desired behavior
This commit is contained in:
graham-dds 2020-01-16 12:03:01 -05:00
parent c460f91045
commit b3dd32f3f7
2 changed files with 6 additions and 5 deletions

View File

@ -36,10 +36,11 @@ def DateRange(lower_bound=None, upper_bound=None, message=None):
def IsNumber(message=translate("forms.validators.is_number_message")):
def _is_number(form, field):
try:
int(field.data)
except (ValueError, TypeError):
raise ValidationError(message)
if field.data:
try:
int(field.data)
except (ValueError, TypeError):
raise ValidationError(message)
return _is_number

View File

@ -11,7 +11,7 @@ class TestIsNumber:
dummy_field.data = valid
validator(dummy_form, dummy_field)
@pytest.mark.parametrize("invalid", ["12.1", "two", "", None])
@pytest.mark.parametrize("invalid", ["12.1", "two"])
def test_IsNumber_rejects_anything_else(self, invalid, dummy_form, dummy_field):
validator = IsNumber()
dummy_field.data = invalid