diff --git a/dataworkspace/dataworkspace/apps/datasets/add_table/forms.py b/dataworkspace/dataworkspace/apps/datasets/add_table/forms.py index 00bfa1d076..65cda6e366 100644 --- a/dataworkspace/dataworkspace/apps/datasets/add_table/forms.py +++ b/dataworkspace/dataworkspace/apps/datasets/add_table/forms.py @@ -89,8 +89,8 @@ def clean_table_name(self): table_name = str(cleaned_data["table_name"]) if len(table_name) > 42: raise ValidationError("Table name must be 42 characters or less") - elif bool(re.search(r"[^A-Za-z_]", table_name)): - raise ValidationError("Table name cannot contain numbers or special characters") + elif bool(re.search(r"[^A-Za-z0-9_]", table_name)): + raise ValidationError("Table name cannot contain special characters") elif table_name in self.table_names: raise ValidationError("Table name already in use") elif "dataset" in table_name: diff --git a/dataworkspace/dataworkspace/tests/datasets/add_table/test_views.py b/dataworkspace/dataworkspace/tests/datasets/add_table/test_views.py index d01ad42b58..5d1107dac5 100644 --- a/dataworkspace/dataworkspace/tests/datasets/add_table/test_views.py +++ b/dataworkspace/dataworkspace/tests/datasets/add_table/test_views.py @@ -354,7 +354,7 @@ def setUp(self): government_security_classification=2, ) self.source = factories.SourceTableFactory.create( - dataset=self.dataset, schema="test", table="table_one", name="table_one" + dataset=self.dataset, schema="test", table="table_one", name="table_1" ) self.descriptive_name = "my_table" @@ -475,8 +475,8 @@ def test_error_shows_when_table_name_input_is_over_42_characters(self): assert "There is a problem" in error_header_text assert "Table name must be 42 characters or less" in error_message_text - def test_error_shows_when_table_name_contains_special_characters_or_numbers(self): - invalid_names = ["specialCharacter@", "has spaces", "numbers123"] + def test_error_shows_when_table_name_contains_special_characters(self): + invalid_names = ["specialCharacter@", "has spaces"] for invalid_name in invalid_names: response = self.get_post_response(invalid_name) @@ -488,7 +488,7 @@ def test_error_shows_when_table_name_contains_special_characters_or_numbers(self assert response.status_code == 200 assert "There is a problem" in error_header_text - assert "Table name cannot contain numbers or special characters" in error_message_text + assert "Table name cannot contain special characters" in error_message_text def test_error_shows_when_table_name_is_already_in_use(self): response = self.get_post_response(self.source.table)