Merge pull request #53 from dod-ccpo/request-form-fixes

Request form fixes
This commit is contained in:
richard-dds 2018-07-06 13:44:17 -04:00 committed by GitHub
commit 9151bcef3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 9 deletions

View File

@ -1,21 +1,19 @@
from wtforms.fields.html5 import EmailField, TelField from wtforms.fields.html5 import EmailField, TelField
from wtforms.fields import RadioField, StringField from wtforms.fields import RadioField, StringField
from wtforms.validators import Required, Length, Email from wtforms.validators import Required, Email
from wtforms_tornado import Form from wtforms_tornado import Form
import pendulum import pendulum
from .fields import DateField from .fields import DateField
from .validators import DateRange from .validators import DateRange, PhoneNumber
class OrgForm(Form): class OrgForm(Form):
fname_request = StringField("First Name", validators=[Required()]) fname_request = StringField("First Name", validators=[Required()])
lname_request = StringField("Last Name", validators=[Required()]) lname_request = StringField("Last Name", validators=[Required()])
email_request = EmailField( email_request = EmailField("Email Address", validators=[Required(), Email()])
"Email (associated with your CAC)", validators=[Required(), Email()]
)
phone_number = TelField("Phone Number", validators=[Required(), Length(min=7)]) phone_number = TelField("Phone Number", validators=[Required(), PhoneNumber()])
service_branch = StringField("Service Branch or Agency", validators=[Required()]) service_branch = StringField("Service Branch or Agency", validators=[Required()])
@ -28,7 +26,15 @@ class OrgForm(Form):
validators=[Required()], validators=[Required()],
) )
designation = StringField("Designation of Person", validators=[Required()]) designation = RadioField(
"Designation of Person",
choices=[
("military", "Military"),
("civilian", "Civilian"),
("contractor", "Contractor"),
],
validators=[Required()],
)
date_latest_training = DateField( date_latest_training = DateField(
"Latest Information Assurance (IA) Training completion date.", "Latest Information Assurance (IA) Training completion date.",

View File

@ -1,3 +1,4 @@
import re
from wtforms.validators import ValidationError from wtforms.validators import ValidationError
import pendulum import pendulum
@ -27,3 +28,16 @@ def IsNumber(message="Please enter a valid number."):
raise ValidationError(message) raise ValidationError(message)
return _is_number return _is_number
def PhoneNumber(message="Please enter a valid 5 or 10 digit phone number."):
def _is_phone_number(form, field):
digits = re.sub(r"\D", "", field.data)
if len(digits) not in [5, 10]:
raise ValidationError(message)
match = re.match(r"[\d\-\(\) ]+", field.data)
if not match or match.group() != field.data:
raise ValidationError(message)
return _is_phone_number

View File

@ -61,13 +61,15 @@
{% end %} {% end %}
</fieldset> </fieldset>
<fieldset class="usa-fieldset-inputs">
{{ f.designation.label }} {{ f.designation.label }}
{{ f.designation }} {{ f.designation(class_="usa-unstyled-list") }}
{% for e in f.designation.errors %} {% for e in f.designation.errors %}
<div class="usa-input-error-message"> <div class="usa-input-error-message">
{{ e }} {{ e }}
</div> </div>
{% end %} {% end %}
</fieldset>
{{ f.date_latest_training.label }} {{ f.date_latest_training.label }}
{{ f.date_latest_training }} {{ f.date_latest_training }}