diff --git a/atst/forms/ccpo_review.py b/atst/forms/ccpo_review.py index 2636d529..f2f930bb 100644 --- a/atst/forms/ccpo_review.py +++ b/atst/forms/ccpo_review.py @@ -3,7 +3,7 @@ from wtforms.fields import StringField, TextAreaField from wtforms.validators import Email, Optional from .forms import ValidatedForm -from .validators import Alphabet, PhoneNumber +from .validators import Name, PhoneNumber class CCPOReviewForm(ValidatedForm): @@ -12,9 +12,9 @@ class CCPOReviewForm(ValidatedForm): description="Provide instructions or notes for additional information that is necessary to approve the request here. The requestor may then re-submit the updated request or initiate contact outside of AT-AT if further discussion is required. This message will be shared with the person making the JEDI request..", ) fname_mao = StringField( - "First Name (optional)", validators=[Optional(), Alphabet()] + "First Name (optional)", validators=[Optional(), Name()] ) - lname_mao = StringField("Last Name (optional)", validators=[Optional(), Alphabet()]) + lname_mao = StringField("Last Name (optional)", validators=[Optional(), Name()]) email_mao = EmailField( "Mission Owner e-mail (optional)", validators=[Optional(), Email()] ) @@ -22,8 +22,8 @@ class CCPOReviewForm(ValidatedForm): "Mission Owner phone number (optional)", validators=[Optional(), PhoneNumber()] ) fname_ccpo = StringField( - "First Name (optional)", validators=[Optional(), Alphabet()] + "First Name (optional)", validators=[Optional(), Name()] ) lname_ccpo = StringField( - "Last Name (optional)", validators=[Optional(), Alphabet()] + "Last Name (optional)", validators=[Optional(), Name()] ) diff --git a/atst/forms/edit_user.py b/atst/forms/edit_user.py index a1b3763c..651c3c15 100644 --- a/atst/forms/edit_user.py +++ b/atst/forms/edit_user.py @@ -8,11 +8,11 @@ from .fields import SelectField from .forms import ValidatedForm from .data import SERVICE_BRANCHES -from .validators import Alphabet, DateRange, PhoneNumber +from .validators import Name, DateRange, PhoneNumber USER_FIELDS = { - "first_name": StringField("First Name", validators=[Alphabet()]), - "last_name": StringField("Last Name", validators=[Alphabet()]), + "first_name": StringField("First Name", validators=[Name()]), + "last_name": StringField("Last Name", validators=[Name()]), "email": EmailField( "E-mail Address", description="Enter your preferred contact e-mail address", diff --git a/atst/forms/validators.py b/atst/forms/validators.py index 102dce05..e769c677 100644 --- a/atst/forms/validators.py +++ b/atst/forms/validators.py @@ -50,13 +50,13 @@ def PhoneNumber(message="Please enter a valid 5 or 10 digit phone number."): return _is_phone_number -def Alphabet(message="Please enter only letters."): - def _alphabet(form, field): +def Name(message="Please enter only letters."): + def _name(form, field): match = re.match(r"[\w \,\.\'\-]+", field.data) if not match or match.group() != field.data: raise ValidationError(message) - return _alphabet + return _name def ListItemRequired(message="Please provide at least one.", empty_values=("", None)): diff --git a/tests/forms/test_validators.py b/tests/forms/test_validators.py index 5e101b16..44317aad 100644 --- a/tests/forms/test_validators.py +++ b/tests/forms/test_validators.py @@ -1,7 +1,7 @@ from wtforms.validators import ValidationError import pytest -from atst.forms.validators import Alphabet, IsNumber, PhoneNumber, ListItemsUnique +from atst.forms.validators import Name, IsNumber, PhoneNumber, ListItemsUnique class TestIsNumber: @@ -38,16 +38,16 @@ class TestPhoneNumber: validator(dummy_form, dummy_field) -class TestAlphabet: +class TestName: @pytest.mark.parametrize("valid", ["a", "abcde", "hi mark", "cloud9", "niƱa"]) - def test_Alphabet_accepts_letters(self, valid, dummy_form, dummy_field): - validator = Alphabet() + def test_Name_accepts_letters(self, valid, dummy_form, dummy_field): + validator = Name() dummy_field.data = valid validator(dummy_form, dummy_field) @pytest.mark.parametrize("invalid", [""]) - def test_Alphabet_rejects_non_letters(self, invalid, dummy_form, dummy_field): - validator = Alphabet() + def test_Name_rejects_non_letters(self, invalid, dummy_form, dummy_field): + validator = Name() dummy_field.data = invalid with pytest.raises(ValidationError): validator(dummy_form, dummy_field)