<?php
spațiu de nume Drupal\modulul_personalizat\Form;
utilizați Drupal\Core\Form\FormBase;
utilizați Drupal\Core\Form\FormStateInterface;
/**
* Class DefaultForm.
*/
clasa DefaultForm extinde FormBase {
/**
* {@inheritdoc}
*/
funcția publică getFormId() {
returnează 'default_form';
}
/**
* {@inheritdoc}
*/
funcția publică buildForm(array $form, FormStateInterface $form_state) {
$form['test'] = [
'#type' => 'câmp text',
'#title' => $this->t('Test'),
'#maxlength' => 64,
'#size' => 64,
'#weight' => '0',
];
$form['trimite'] = [
'#type' => 'trimite',
'#value' => $this->t('Trimite'),
];
$form_state->setErrorByName('test', 'eroare');
returnează $form;
}
/**
* {@inheritdoc}
*/
funcția publică validateForm(matrice &$form, FormStateInterface $form_state) {
$form_state->setErrorByName('test', 'eroare');
parent::validateForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
funcția publică submitForm(matrice &$form, FormStateInterface $form_state) {
$form_state->setRebuild(TRUE);
}
}
Atunci când se utilizează setError
, setErrorByName
sau setRebuild
metode, fie că este în validateForm sau submitForm, îmi rupe formularul dându-mi a Dimensiunea de memorie permisă de XXX octeți a fost epuizată eroare când trimit formularul.
Problema este că nu văd nimic în jurnale, cu excepția miilor de erori „404”, ca și cum aș avea ceva care declanșează o buclă infinită.
În exemplu, le am pe amândouă setErrorByName
și setRebuild
, dar se întâmplă chiar și cu unul dintre ei.
Vă puteți gândi la ceva care poate declanșa această eroare?