Add simple phone number validation
This commit is contained in:
parent
af771474b2
commit
d98acc67e9
@ -1,10 +1,10 @@
|
|||||||
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):
|
||||||
@ -12,9 +12,8 @@ class OrgForm(Form):
|
|||||||
lname_request = StringField("Last Name", validators=[Required()])
|
lname_request = StringField("Last Name", validators=[Required()])
|
||||||
|
|
||||||
email_request = EmailField("Email Address", validators=[Required(), Email()])
|
email_request = EmailField("Email Address", 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()])
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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 }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user