за 8 не скажу, но для этого дела в 7 надо было альтерить саму форму, добавляя ещё один валидэйшн коллбэк
/**
* {@inheritdoc}
*/
public function validateForm(array &$form, FormStateInterface $form_state) {
if (strlen($form_state->getValue('phone_number')) < 3) {
$form_state->setErrorByName('phone_number', $this->t('The phone number is too short. Please enter a full phone number.'));
}
}
тут код
```php
$response = new AjaxResponse();
if ($form_state->getErrors()) {
$message = [
'#theme' => 'status_messages',
'#message_list' => drupal_get_messages(),
'#status_headings' => [
'status' => t('Status message'),
'error' => t('Error message'),
'warning' => t('Warning message'),
],
];
$messages = \Drupal::service('renderer')->render($message);
$title = "Error";
$message = "Erroooors";
$response->addCommand(new OpenModalDialogCommand($title, $messages, ['width' => '400', 'height' => 'auto']));
};
return $response;
```