diff --git a/ui_automator/ui_automator.py b/ui_automator/ui_automator.py
index 96d9222..aacd2df 100644
--- a/ui_automator/ui_automator.py
+++ b/ui_automator/ui_automator.py
@@ -123,6 +123,13 @@
 _NO_DEVICE_CONNECTED_ERROR_MESSAGE = (
     'No Android device connected to the host computer.'
 )
+# Aligned with
+# http://google3/java/com/google/assistant/verticals/homeautomation/partners/testsuite/client/constants.ts?q=symbol:%5CbVALID_DEVICE_NAME_ON_GHA_PATTERN%5Cb.
+_VALID_DEVICE_NAME_PATTERN = r'^(?=.*[a-zA-Z0-9])[a-zA-Z0-9 \']{1,24}$'
+_INVALID_DEVICE_NAME_ERROR_MESSAGE = (
+    'Value of DeviceName is invalid. Device name should be no more than'
+    ' 24 characters and no special characters.'
+)
 
 
 class RegTestSuiteType(enum.Enum):
@@ -143,7 +150,7 @@
   Raises:
       ValueError: When any of passed arguments is invalid.
   """
-  device_name_match = re.fullmatch(r'\S{1,24}', device_name)
+  device_name_match = re.fullmatch(_VALID_DEVICE_NAME_PATTERN, device_name)
   pairing_code_match = re.fullmatch(r'^(\d{11}|\d{21})$', pairing_code)
   gha_room_match = re.fullmatch(
       r'Attic|Back door|Backyard|Basement|Bathroom|Bedroom|Den|Dining'
@@ -154,10 +161,7 @@
   )
 
   if not device_name_match:
-    raise ValueError(
-        'Value of DeviceName is invalid. Device name should be no more than 24'
-        ' characters.'
-    )
+    raise ValueError(_INVALID_DEVICE_NAME_ERROR_MESSAGE)
   if not pairing_code_match:
     raise ValueError(
         'Value of PairingCode is invalid. Paring code should be 11-digit or'
@@ -358,11 +362,8 @@
         MoblySnippetError: When running `removeDeviceFromGha` method in snippet
         apk encountered an error.
     """
-    if not re.fullmatch(r'\S{1,24}', device_name):
-      raise ValueError(
-          'Value of DeviceName is invalid. Device name should be no more than'
-          ' 24 characters.'
-      )
+    if not re.fullmatch(_VALID_DEVICE_NAME_PATTERN, device_name):
+      raise ValueError(_INVALID_DEVICE_NAME_ERROR_MESSAGE)
 
     self._logger.info('Start removing the device.')
     try:
diff --git a/ui_automator/ui_automator_test.py b/ui_automator/ui_automator_test.py
index f01b0f4..0236b66 100644
--- a/ui_automator/ui_automator_test.py
+++ b/ui_automator/ui_automator_test.py
@@ -35,8 +35,9 @@
 from ui_automator import ui_automator
 from ui_automator import unit_test_utils
 from ui_automator import version
+from google3.testing.pybase import parameterized
 
-_FAKE_MATTER_DEVICE_NAME = 'fake-matter-device-name'
+_FAKE_MATTER_DEVICE_NAME = 'fake matter device name'
 _FAKE_GHA_ROOM = 'Office'
 _FAKE_PAIRING_CODE = '34970112332'
 _PYTHON_PATH = subprocess.check_output(['which', 'python']).decode('utf-8')
@@ -79,7 +80,7 @@
 _FAKE_GOOGLE_ACCOUNT = 'fake_google_account'
 
 
-class UIAutomatorTest(unittest.TestCase):
+class UIAutomatorTest(parameterized.TestCase):
 
   def setUp(self):
     """This method will be run before each of the test methods in the class."""
@@ -502,18 +503,30 @@
 
     self.assertIn(expected_error_message, str(exc.exception))
 
+  @parameterized.named_parameters(
+      dict(
+          testcase_name='device_name_exceeds_limit',
+          invalid_device_name='fakeDeviceNameWith25Chars',
+          expected_error_message=ui_automator._INVALID_DEVICE_NAME_ERROR_MESSAGE,
+      ),
+      dict(
+          testcase_name='device_name_contains_only_spaces',
+          invalid_device_name='   ',
+          expected_error_message=ui_automator._INVALID_DEVICE_NAME_ERROR_MESSAGE,
+      ),
+      dict(
+          testcase_name='device_name_contains_special_characters',
+          invalid_device_name='test_device',
+          expected_error_message=ui_automator._INVALID_DEVICE_NAME_ERROR_MESSAGE,
+      ),
+  )
   @mock.patch.object(android_device, 'get_all_instances', autospec=True)
-  def test_commission_device_raises_an_error_when_device_name_exceeds_limit(
-      self, mock_get_all_instances
+  def test_commission_device_raises_an_error_when(
+      self, mock_get_all_instances, invalid_device_name, expected_error_message
   ):
-    invalid_device_name = 'fakeDeviceNameWith25Chars'
     mock_get_all_instances.return_value = [self.mock_android_device]
 
-    with self.assertRaisesRegex(
-        ValueError,
-        'Value of DeviceName is invalid. Device name should be no more than 24'
-        ' characters.',
-    ):
+    with self.assertRaisesRegex(ValueError, expected_error_message):
       self.ui_automator.commission_device(
           invalid_device_name,
           _FAKE_PAIRING_CODE,
