diff --git a/atst/forms/fields.py b/atst/forms/fields.py index 0714c847..9ac4371b 100644 --- a/atst/forms/fields.py +++ b/atst/forms/fields.py @@ -1,5 +1,5 @@ from wtforms.fields.html5 import DateField -from wtforms.fields import Field +from wtforms.fields import Field, SelectField as SelectField_ from wtforms.widgets import TextArea from atst.domain.date import parse_date @@ -41,3 +41,13 @@ class NewlineListField(Field): self.data = "\n".join(value) else: self.data = value + + +class SelectField(SelectField_): + def __init__(self, *args, **kwargs): + render_kw = kwargs.get("render_kw", {}) + kwargs["render_kw"] = { + **render_kw, + "required": False + } + super().__init__(*args, **kwargs) diff --git a/atst/forms/financial.py b/atst/forms/financial.py index 0f8c7715..8a444bf7 100644 --- a/atst/forms/financial.py +++ b/atst/forms/financial.py @@ -1,12 +1,12 @@ import re from wtforms.fields.html5 import EmailField -from wtforms.fields import StringField, SelectField -from wtforms.validators import Required, Email, InputRequired, Regexp +from wtforms.fields import StringField +from wtforms.validators import Required, Email, InputRequired, Regexp, DataRequired from atst.domain.exceptions import NotFoundError from atst.domain.pe_numbers import PENumbers -from .fields import NewlineListField +from .fields import NewlineListField, SelectField from .forms import ValidatedForm @@ -116,7 +116,8 @@ class FinancialForm(ValidatedForm): ("PROC", "Procurement (PROC)"), ("OTHER", "Other"), ], - validators=[InputRequired()] + validators=[Required()], + render_kw={"required": False} ) funding_type_other = StringField("If other, please specify")