Validate email addresses in oversight form
This commit is contained in:
parent
d98abad611
commit
f1683e8ff7
@ -10,7 +10,7 @@ from wtforms.fields import (
|
||||
)
|
||||
from wtforms.fields.html5 import DateField, TelField
|
||||
from wtforms.widgets import ListWidget, CheckboxInput
|
||||
from wtforms.validators import Length, Required, Optional
|
||||
from wtforms.validators import Email, Length, Required, Optional
|
||||
from flask_wtf.file import FileAllowed
|
||||
|
||||
from atst.forms.validators import IsNumber, PhoneNumber, RequiredIf
|
||||
@ -132,7 +132,10 @@ class OversightForm(CacheableForm):
|
||||
translate("forms.task_order.oversight_first_name_label")
|
||||
)
|
||||
ko_last_name = StringField(translate("forms.task_order.oversight_last_name_label"))
|
||||
ko_email = StringField(translate("forms.task_order.oversight_email_label"))
|
||||
ko_email = StringField(
|
||||
translate("forms.task_order.oversight_email_label"),
|
||||
validators=[Optional(), Email()],
|
||||
)
|
||||
ko_phone_number = TelField(
|
||||
translate("forms.task_order.oversight_phone_label"),
|
||||
validators=[Optional(), PhoneNumber()],
|
||||
@ -151,7 +154,10 @@ class OversightForm(CacheableForm):
|
||||
translate("forms.task_order.oversight_first_name_label")
|
||||
)
|
||||
cor_last_name = StringField(translate("forms.task_order.oversight_last_name_label"))
|
||||
cor_email = StringField(translate("forms.task_order.oversight_email_label"))
|
||||
cor_email = StringField(
|
||||
translate("forms.task_order.oversight_email_label"),
|
||||
validators=[Optional(), Email()],
|
||||
)
|
||||
cor_phone_number = TelField(
|
||||
translate("forms.task_order.oversight_phone_label"),
|
||||
validators=[
|
||||
@ -176,7 +182,10 @@ class OversightForm(CacheableForm):
|
||||
translate("forms.task_order.oversight_first_name_label")
|
||||
)
|
||||
so_last_name = StringField(translate("forms.task_order.oversight_last_name_label"))
|
||||
so_email = StringField(translate("forms.task_order.oversight_email_label"))
|
||||
so_email = StringField(
|
||||
translate("forms.task_order.oversight_email_label"),
|
||||
validators=[Optional(), Email()],
|
||||
)
|
||||
so_phone_number = TelField(
|
||||
translate("forms.task_order.oversight_phone_label"),
|
||||
validators=[Optional(), PhoneNumber()],
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
<div class='form-row'>
|
||||
<div class='form-col form-col--half'>
|
||||
{{ TextInput(email, placeholder='name@mail.mil') }}
|
||||
{{ TextInput(email, placeholder='name@mail.mil', validation='email') }}
|
||||
</div>
|
||||
|
||||
<div class='form-col form-col--half'>
|
||||
|
@ -122,6 +122,26 @@ def test_task_order_form_shows_errors(client, user_session):
|
||||
assert "Not a valid decimal" in body
|
||||
|
||||
|
||||
def test_task_order_validates_email_address(client, user_session):
|
||||
to = task_order()
|
||||
creator = to.creator
|
||||
user_session(creator)
|
||||
|
||||
task_order_data = TaskOrderFactory.dictionary()
|
||||
oversight_data = slice_data_for_section(task_order_data, "oversight")
|
||||
oversight_data.update({"ko_email": "not an email"})
|
||||
|
||||
response = client.post(
|
||||
url_for("task_orders.update", screen=3, task_order_id=to.id),
|
||||
data=oversight_data,
|
||||
follow_redirects=False,
|
||||
)
|
||||
|
||||
body = response.data.decode()
|
||||
assert "There were some errors" in body
|
||||
assert "Invalid email" in body
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def task_order():
|
||||
user = UserFactory.create()
|
||||
|
Loading…
x
Reference in New Issue
Block a user