From c66edef0ac0e6691fe4bdd90906de1ad677b03de Mon Sep 17 00:00:00 2001 From: "Quintino A. G. Souza" Date: Mon, 2 Mar 2026 09:15:45 -0300 Subject: [PATCH] =?UTF-8?q?Corrige=20cria=C3=A7=C3=A3o=20de=20regra=20vazi?= =?UTF-8?q?a=20ao=20clicar=20em=20Cancelar=20no=20modal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O botão "Cancel" usava #type => 'submit' com #submit => []. No Drupal, um array #submit vazio é falsy, então FormBuilder cai de volta nos handlers de nível de formulário e chama submitForm() — que salvava uma regra vazia ignorando a validação (#limit_validation_errors => []). A solução é #type => 'button', cujo #executes_submit_callback é FALSE por padrão, impedindo qualquer submit handler de rodar. Co-Authored-By: Claude Sonnet 4.6 --- src/Form/AccessRuleFormBase.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Form/AccessRuleFormBase.php b/src/Form/AccessRuleFormBase.php index 8cdc32f..17db690 100644 --- a/src/Form/AccessRuleFormBase.php +++ b/src/Form/AccessRuleFormBase.php @@ -415,9 +415,8 @@ abstract class AccessRuleFormBase extends FormBase { ]; $form['actions']['cancel'] = [ - '#type' => 'submit', + '#type' => 'button', '#value' => $this->t('Cancel'), - '#submit' => [], '#limit_validation_errors' => [], '#ajax' => [ 'callback' => '::cancelDialog',