diff --git a/Civi/FormProcessor/API/FormProcessor.php b/Civi/FormProcessor/API/FormProcessor.php index 0e8934488354048dd4404541ee6489d79346e780..0b2de4e923df3c196cf69cf2c8fd81996417bab2 100644 --- a/Civi/FormProcessor/API/FormProcessor.php +++ b/Civi/FormProcessor/API/FormProcessor.php @@ -127,9 +127,9 @@ if ($input['is_required'] && !isset($params[$input['name']])) { throw new \API_Exception('Parameter '.$input['name'].' is required'); } - if (!$input['type']->validateValue($params[$input['name']])) { - throw new \API_Exception('Parameter '.$input['name'].' is required'); - } + if (isset($params[$input['name']]) && !empty($params[$input['name']]) && !$input['type']->validateValue($params[$input['name']])) { + throw new \API_Exception('Parameter '.$input['name'].' is invalid'); + } // Check the validations on the input. foreach($input['validators'] as $validator) { if (!$validator['validator']->validate($params[$input['name']])) { diff --git a/Civi/FormProcessor/API/FormProcessorDefaults.php b/Civi/FormProcessor/API/FormProcessorDefaults.php index 91574cb696a37216c77d30f4a6eb1c33c4f7d90c..1e07e0fb5d4a53d26c646c932b81c7a87b7943d0 100644 --- a/Civi/FormProcessor/API/FormProcessorDefaults.php +++ b/Civi/FormProcessor/API/FormProcessorDefaults.php @@ -128,8 +128,8 @@ if ($input['is_required'] && !isset($params[$input['name']])) { throw new \API_Exception('Parameter '.$input['name'].' is required'); } - if (!$input['type']->validateValue($params[$input['name']])) { - throw new \API_Exception('Parameter '.$input['name'].' is required'); + if (isset($params[$input['name']]) && !empty($params[$input['name']]) && !$input['type']->validateValue($params[$input['name']])) { + throw new \API_Exception('Parameter '.$input['name'].' is invalid'); } // Check the validations on the input. foreach($input['validators'] as $validator) {