diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
index 60f9bf8..dfd8f83 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
@@ -21,6 +21,7 @@ display:
           id: 'null'
           must_not_be: false
           table: views
+          specify_validation: true
           validate:
             type: 'entity:user'
           plugin_id: 'null'
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml
index d7fc245..cf2e673 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml
@@ -21,6 +21,7 @@ display:
           id: 'null'
           must_not_be: false
           table: views
+          specify_validation: true
           validate:
             type: user_name
           plugin_id: 'null'
diff --git a/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php b/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
index 0a9fec7..f360290 100644
--- a/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
+++ b/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
@@ -1079,6 +1079,14 @@ public function getPlugin($type = 'argument_default', $name = NULL) {
         $options_name = 'default_argument_options';
         break;
       case 'argument_validator':
+        if (empty($this->options['specify_validation'])) {
+          $plugin_name = 'none';
+          $options_name = 'validate_options';
+          if (isset($this->options[$options_name])) {
+            $this->options[$options_name] = array();
+          }
+          break;
+        }
         if (!isset($this->options['validate']['type'])) {
           return;
         }
diff --git a/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php b/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php
index 08b8984..4abf91d 100644
--- a/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php
+++ b/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php
@@ -65,6 +65,14 @@ public function testArgumentValidatorPlugin() {
     $this->assertTrue($plugin instanceof ArgumentValidatorTestPlugin, 'The correct argument validator plugin is used.');
     $this->assertFalse($plugin->validateArgument($this->randomMachineName()), 'A random value does not validate.');
     $this->assertTrue($plugin->validateArgument($test_value), 'The right argument validates.');
+
+    // Turn off the specify validation option.
+    $view->destroy();
+    $view->setHandlerOption('default', 'argument', $id, 'specify_validation', FALSE);
+    $view->initHandlers();
+    $argument = $view->argument[$id];
+    $argument->options['validate_options']['test_value'] = $test_value;
+    $this->assertTrue($argument->validateArgument($this->randomMachineName()), 'A random value validates.');
   }
 
 }
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml
index c6b72e3..c1ee9ca 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml
@@ -206,7 +206,7 @@ display:
             sort_order: asc
             number_of_records: 0
             format: default_summary
-          specify_validation: false
+          specify_validation: true
           validate:
             type: argument_validator_test
             fail: 'not found'
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_simple_argument.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_simple_argument.yml
index 8badd47..ad49bd6 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_simple_argument.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_simple_argument.yml
@@ -49,6 +49,7 @@ display:
           default_action: ignore
           title: ''
           default_argument_type: fixed
+          specify_validation: true
           validate:
             type: none
             fail: 'not found'
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
index 7337fcc..c507d1c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
@@ -21,6 +21,7 @@ display:
           id: 'null'
           must_not_be: false
           table: views
+          specify_validation: true
           validate:
             type: numeric
           plugin_id: 'null'
