diff --git a/atst/forms/financial.py b/atst/forms/financial.py index d184e6b8..71dd65f4 100644 --- a/atst/forms/financial.py +++ b/atst/forms/financial.py @@ -2,7 +2,7 @@ import re import pendulum from wtforms.fields.html5 import DateField, EmailField from wtforms.fields import StringField, FileField -from wtforms.validators import InputRequired, Required, Email, Regexp +from wtforms.validators import InputRequired, Required, Optional, Email, Regexp from flask_wtf.file import FileAllowed from atst.domain.exceptions import NotFoundError @@ -123,7 +123,7 @@ class BaseFinancialForm(ValidatedForm): ba_code = StringField( "Program Budget Activity (BA) Code (Optional)", description="BA Code is used to identify the purposes, projects, or types of activities financed by the appropriation fund.
It should be two digits, followed by an optional letter.", - validators=[Regexp(BA_CODE_REGEX)], + validators=[Optional(), Regexp(BA_CODE_REGEX)], ) fname_co = StringField("KO First Name", validators=[Required()]) diff --git a/tests/forms/test_financial.py b/tests/forms/test_financial.py index 970e4b6b..dc89ab30 100644 --- a/tests/forms/test_financial.py +++ b/tests/forms/test_financial.py @@ -74,8 +74,8 @@ def test_treasury_code_validation(input_, expected): ], ) def test_ba_code_validation(input_, expected): - form_data = {"ba_code": input_} - form = FinancialForm(data=form_data) + form_data = ImmutableMultiDict([("ba_code", input_)]) + form = FinancialForm(form_data) form.validate() is_valid = "ba_code" not in form.errors