I want disable the user register form depending some conditions. The user go to the "/user/register" page, and he must see 'Registration is disable because ...'.
From my "form_user_register_form_alter" hook, I don't find anywhere how can I disable all the form programmatically ( I mean : remove all fields form). I think I can unset all form elements, but I feel that is an ugly way ;)
Is there a method (from the FormStateInterface class) or a drupal function (for the form variable) for disable properly the form ?
Thank you !
My last try :
function mycustommodule_limit_form_user_register_form_alter(&$form, FormStateInterface $form_state){
if (...) {
$form['#access'] = FALSE; //Drupal 7 (ugly?) way
drupal_set_message('This form is disable because...');
}
}
When I go to the /user/register form, the form is disable ! but I get this drupal error
"Notice: Undefined index: #markup in Drupal\Core\Render\RenderCache->getCacheableRenderArray() (line 323 of core/lib/Drupal/Core/Render/RenderCache.php)." :
And I would like hide/remove the 'Create new account' title..