TestForm.php in Drupal 8
File
core/modules/block/tests/modules/block_test/src/Form/TestForm.php
View source
<?php
namespace Drupal\block_test\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class TestForm extends FormBase {
public function getFormId() {
return 'block_test_form_test';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$form['email'] = [
'#type' => 'email',
'#title' => $this
->t('Your .com email address.'),
];
$form['show'] = [
'#type' => 'submit',
'#value' => $this
->t('Submit'),
];
return $form;
}
public function validateForm(array &$form, FormStateInterface $form_state) {
if (strpos($form_state
->getValue('email'), '.com') === FALSE) {
$form_state
->setErrorByName('email', $this
->t('This is not a .com email address.'));
}
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$this
->messenger()
->addStatus($this
->t('Your email address is @email', [
'@email' => $form['email']['#value'],
]));
}
}
Classes
Name |
Description |
TestForm |
Form that performs base block form test. |