web-dev-qa-db-fra.com

Comment rendre le champ du formulaire en lecture seule?

Je veux empêcher tout utilisateur de pouvoir modifier la valeur d'un champ, mais je veux afficher sa valeur.

Comment puis-je atteindre cet objectif?

3
No Sssweat

Cela peut être fait via hook_form_alter

function mymodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

   if($form_id == 'user_register_form') {
      $form['field_name']['widget'][0]['value']['#attributes']['readonly'] = 'readonly';
   }

}

Ajoutez du CSS:

input:read-only {
  background-color: #ddd !important;
}

Résultat:

enter image description here

7
No Sssweat