public function DefaultMatchingEngine::validateConfigurationForm in CRM Core 8
Same name and namespace in other branches
- 8.3 modules/crm_core_match/src/Plugin/crm_core_match/engine/DefaultMatchingEngine.php \Drupal\crm_core_match\Plugin\crm_core_match\engine\DefaultMatchingEngine::validateConfigurationForm()
- 8.2 modules/crm_core_match/src/Plugin/crm_core_match/engine/DefaultMatchingEngine.php \Drupal\crm_core_match\Plugin\crm_core_match\engine\DefaultMatchingEngine::validateConfigurationForm()
Form validation handler.
Parameters
array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().
Overrides MatchEngineBase::validateConfigurationForm
File
- modules/
crm_core_match/ src/ Plugin/ crm_core_match/ engine/ DefaultMatchingEngine.php, line 331
Class
- DefaultMatchingEngine
- DefaultMatchingEngine class.
Namespace
Drupal\crm_core_match\Plugin\crm_core_match\engineCode
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
parent::validateConfigurationForm($form, $form_state);
if (!is_numeric($form_state
->getValue([
'configuration',
'threshold',
]))) {
$form_state
->setErrorByName('configuration[threshold]', $this
->t('Threshold must be a number.'));
}
$rules = $form_state
->getValue([
'configuration',
'rules',
]);
foreach ($rules as $field_name => $config) {
if ($config['status'] && empty($config['operator'])) {
$name = 'rules][' . $field_name . '][operator';
$message = $this
->t('You must select an operator for enabled field.');
$form_state
->setErrorByName($name, $message);
}
if (!is_numeric($config['score'])) {
$name = 'rules][' . $field_name . '][score';
$message = $this
->t('You must enter number in "Score" column.');
$form_state
->setErrorByName($name, $message);
}
}
}