public static function MultipleUpdatesForm::validateElement in Scheduled Publish 8.3
Handle element validation.
File
- src/
Form/ MultipleUpdatesForm.php, line 384 - Contains \Drupal\scheduled_publish\Form\MultipleUpdatesForm.
Class
Namespace
Drupal\scheduled_publish\FormCode
public static function validateElement($element, FormStateInterface $form_state) {
$triggering_element = $form_state
->getTriggeringElement();
if (!$triggering_element || !isset($triggering_element['#name'])) {
return;
}
$error_past_date = t("Date cannot be in the past");
// Saving new state entries.
if ($triggering_element['#name'] === 'sp-state-add') {
$values = $form_state
->getValue('states');
if (!$values || !$values['value']) {
$form_state
->setError($element, t('All fields need to be filled'));
}
elseif ($values['value'] < new DrupalDateTime()) {
$form_state
->setError($element, $error_past_date);
}
}
if (!isset($triggering_element['#sp_row_delta'])) {
return;
}
// Editing state entries.
$button_name = 'sp-state-edit-confirm-' . $triggering_element['#sp_row_delta'];
if ($triggering_element['#name'] === $button_name) {
$value_array = [
'states',
'entries',
$triggering_element['#sp_row_delta'],
'form',
];
$values = $form_state
->getValue($value_array);
if (!$values['moderation_state'] || !$values['value']['date'] || !$values['value']['time']) {
$form_state
->setError($element, t('All fields need to be filled'));
}
elseif (strtotime($values['value']['date'] . ' ' . $values['value']['time']) < time()) {
$form_state
->setError($element, $error_past_date);
}
}
}