Index: modules/user/user.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v retrieving revision 1.120 diff -u -p -r1.120 user.admin.inc --- modules/user/user.admin.inc 20 Oct 2010 01:31:07 -0000 1.120 +++ modules/user/user.admin.inc 22 Oct 2010 19:00:03 -0000 @@ -959,6 +959,9 @@ function user_admin_role($form, $form_st '#type' => 'submit', '#value' => t('Delete role'), '#submit' => array('user_admin_role_delete_submit'), + // Keep array('rid') for passing rid of the role + // to delete confirmation form + '#limit_validation_errors' => array(array('rid')), ); return $form; Index: modules/user/user.test =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.test,v retrieving revision 1.103 diff -u -p -r1.103 user.test --- modules/user/user.test 11 Oct 2010 19:43:23 -0000 1.103 +++ modules/user/user.test 22 Oct 2010 19:00:05 -0000 @@ -1647,6 +1647,11 @@ class UserRoleAdminTestCase extends Drup $this->assertFalse(user_role_load_by_name($old_name), t('The role can no longer be retrieved from the database using its old name.')); $this->assertTrue(is_object(user_role_load_by_name($role_name)), t('The role can be retrieved from the database using its new name.')); + // Test submit edit role form with empty role name. + $edit = array('name' => ''); + $this->drupalPost("admin/people/permissions/roles/edit/{$role->rid}", $edit, t('Delete role')); + $this->assertNoText(t('Role name field is required.'), t('Role can be deleted with empty name submitted to the form.')); + // Test deleting a role. $this->drupalPost("admin/people/permissions/roles/edit/{$role->rid}", NULL, t('Delete role')); $this->drupalPost(NULL, NULL, t('Delete'));