Preview:
/**
 * Implements hook_form_FORM_ID_alter().
 */
function actency_module_form_config_pages_configuration_modules_et_options_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  unset($form['field_activation_du_service_dete']['widget']['#default_value']);
  $form['#validate'][] = '_check_ai_service_required_field';
}

/**
 * Validation callback for detection service field.
 */
function _check_ai_service_required_field($form, FormStateInterface $form_state) {
  $field_controls = [
    'field_activation_du_service_dete' => 'field_activation_du_module_assis',
    'field_activation_du_service_sugg' => 'field_activation_du_service_dete',
    'field_activation_du_service_eval' => 'field_activation_du_service_dete',
    'field_delai_maximum_pour_soumett' => 'field_activation_du_service_eval',
    'field_aide_memoire_fonction_asse' => 'field_activation_du_service_dete',
    'field_aide_memoire_fonction_prof' => 'field_activation_du_service_dete',
    'field_sujet_attente_definition' => 'field_activation_du_service_dete',
    'field_texte_attente_definition' => 'field_activation_du_service_dete',
    'field_sujet_attente_resultat' => 'field_activation_du_service_eval',
    'field_texte_attente_resultat' => 'field_activation_du_service_eval',
    'field_sujet_attente_traitement' => 'field_activation_du_service_eval',
    'field_text_attente_traitement' => 'field_activation_du_service_eval',
  ];

  foreach ($field_controls as $dependent_field => $control_field) {
    $field_value = $form_state->getValue($control_field)[0]['value'];

    if (!$field_value) {
      $form_errors = $form_state->getErrors();
      $form_state->clearErrors();
      $dependent_field_value = $dependent_field.'][0][value';
      $dependent_field_uri = $dependent_field.'][0][uri';
      $dependent_field_title = $dependent_field.'][0][title';
      if(isset($form_errors[$dependent_field_value])){
        unset($form_errors[$dependent_field_value]);
      }elseif (isset($form_errors[$dependent_field_uri])){
        unset($form_errors[$dependent_field_uri], $form_errors[$dependent_field_title]);
      }else{
        unset($form_errors[$dependent_field]);
      }
      foreach ($form_errors as $name => $error_message) {
        $form_state->setErrorByName($name, $error_message);
      }
    }
  }
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter