TestSettingsValidationBlock.php in Drupal 10
File
core/modules/block/tests/modules/block_test/src/Plugin/Block/TestSettingsValidationBlock.php
View source
<?php
namespace Drupal\block_test\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;
class TestSettingsValidationBlock extends BlockBase {
public function blockForm($form, FormStateInterface $form_state) {
return [
'digits' => [
'#type' => 'textfield',
],
] + $form;
}
public function blockValidate($form, FormStateInterface $form_state) {
if (!ctype_digit($form_state
->getValue('digits'))) {
$form_state
->setErrorByName('digits', $this
->t('Only digits are allowed'));
}
}
public function build() {
return [
'#markup' => 'foo',
];
}
}