Add WTForms min and max validation for clin $

- above 0 and below $1,000,000,000.00, inclusive
This commit is contained in:
graham-dds 2019-09-09 15:31:48 -04:00
parent f3eea39536
commit 6f13b8a179

View File

@ -7,7 +7,7 @@ from wtforms.fields import (
HiddenField,
)
from wtforms.fields.html5 import DateField
from wtforms.validators import Required, Optional, Length
from wtforms.validators import Required, Optional, Length, NumberRange
from flask_wtf import FlaskForm
from datetime import datetime
@ -49,11 +49,21 @@ class CLINForm(FlaskForm):
)
total_amount = DecimalField(
label=translate("task_orders.form.total_funds_label"),
validators=[Optional()],
validators=[
Optional(),
NumberRange(
0, 1000000000, "dollar amount must be from $0.00 to $1,000,000,000.00"
),
],
)
obligated_amount = DecimalField(
label=translate("task_orders.form.obligated_funds_label"),
validators=[Optional()],
validators=[
Optional(),
NumberRange(
0, 1000000000, "dollar amount must be from $0.00 to $1,000,000,000.00"
),
],
)
def validate(self, *args, **kwargs):
@ -93,6 +103,12 @@ class CLINForm(FlaskForm):
)
valid = False
if self.total_amount.data < self.obligated_amount.data:
self.obligated_amount.errors.append(
translate("forms.task_order.obligated_amount")
)
valid = False
return valid