Валидация данных форм Drupal 8

Главные вкладки

Аватар пользователя Altron Altron 27 ноября 2018 в 7:04

Здравствуйте, у меня есть поле возраста

<?php
$form
['Age'] = [
      
'#type' => 'date',
      
'#required' => TRUE,
      
'#title' => $this->t('Age'),
    ];
?>

хочу ввести ограничения
вот мой код

<?php
if (strlen($form_state->getValue('Age(Y)')) > 2010) {
      
$form_state->setErrorByName('Age'$this->t('Error.'));
}
?>

Лучший ответ

Аватар пользователя Altron Altron 27 ноября 2018 в 7:44

Ну извините я только учусь,
вот кстати решение

<?php
if (($form_state->getValue('Age')) > '2010-01-01') {
      
$form_state->setErrorByName('Age'$this->t('Error.'));
    }
?>

Комментарии

Аватар пользователя ivnish ivnish 27 ноября 2018 в 7:33

@Altron, вы будете по каждой мелочи тему создавать? Мне, конечно, не жалко, но использование Form API и создание форм гуглится практически по любому запросу.

А еще (только тссс) можно заглянуть в код контрибных модулей и модулей ядра

Аватар пользователя Altron Altron 27 ноября 2018 в 7:44

Ну извините я только учусь,
вот кстати решение

<?php
if (($form_state->getValue('Age')) > '2010-01-01') {
      
$form_state->setErrorByName('Age'$this->t('Error.'));
    }
?>