Same filename and directory in other branches
- 8.9.x core/modules/system/tests/modules/form_test/src/Form/FormTestValidateForm.php
- 9 core/modules/system/tests/modules/form_test/src/Form/FormTestValidateForm.php
Namespace
Drupal\form_test\Form
File
core/modules/system/tests/modules/form_test/src/Form/FormTestValidateForm.php
View source
<?php
namespace Drupal\form_test\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\form_test\Callbacks;
class FormTestValidateForm extends FormBase {
public function getFormId() {
return 'form_test_validate_form';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$object = new Callbacks();
$form['name'] = [
'#type' => 'textfield',
'#title' => 'Name',
'#default_value' => '',
'#element_validate' => [
[
$object,
'validateName',
],
],
];
$form['submit'] = [
'#type' => 'submit',
'#value' => 'Save',
];
return $form;
}
public function validateForm(array &$form, FormStateInterface $form_state) {
if ($form_state
->getValue('name') == 'validate') {
$form['name']['#value'] = '#value changed by #validate';
$form_state
->setValueForElement($form['name'], 'value changed by setValueForElement() in #validate');
$this
->messenger()
->addStatus($this
->t('@label value: @value', [
'@label' => $form['name']['#title'],
'@value' => $form_state
->getValue('name'),
]));
$form_state
->setErrorByName('');
$form_state
->setCached();
}
}
public function submitForm(array &$form, FormStateInterface $form_state) {
}
}
Classes