Corrige criação de regra vazia ao clicar em Cancelar no modal

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 <noreply@anthropic.com>
This commit is contained in:
2026-03-02 09:15:45 -03:00
parent d1bd5dade8
commit c66edef0ac

View File

@@ -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',