Validate that start_date is in the future
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import pendulum
|
||||
from wtforms.fields.html5 import DateField, EmailField, IntegerField, TelField
|
||||
from wtforms.fields import BooleanField, RadioField, StringField, TextAreaField
|
||||
from wtforms.validators import Email, Length, Optional, Required
|
||||
from wtforms.validators import Email, Length, Optional, Required, DataRequired
|
||||
|
||||
from .fields import SelectField
|
||||
from .forms import ValidatedForm
|
||||
@@ -136,7 +136,14 @@ class DetailsOfUseForm(ValidatedForm):
|
||||
|
||||
start_date = DateField(
|
||||
description="When do you expect to start using the JEDI Cloud (not for billing purposes)?",
|
||||
validators=[Required()],
|
||||
validators=[
|
||||
DataRequired(),
|
||||
DateRange(
|
||||
lower_bound=pendulum.duration(days=1),
|
||||
upper_bound=None,
|
||||
message="Must be a date in the future.",
|
||||
),
|
||||
],
|
||||
format="%m/%d/%Y",
|
||||
)
|
||||
|
||||
|
@@ -1,12 +1,17 @@
|
||||
import re
|
||||
from wtforms.validators import ValidationError
|
||||
import pendulum
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def DateRange(lower_bound=None, upper_bound=None, message=None):
|
||||
def _date_range(form, field):
|
||||
now = pendulum.now().date()
|
||||
date = field.data
|
||||
|
||||
if isinstance(field.data, str):
|
||||
date = datetime.strptime(field.data, field.format)
|
||||
else:
|
||||
date = field.data
|
||||
|
||||
if lower_bound is not None:
|
||||
if (now - lower_bound) > date:
|
||||
|
Reference in New Issue
Block a user