You are here

public static function TimeFieldStandardWidget::validateTimeField in Timefield 1.0.x

Validation Callback; Timefield process field.

File

src/Plugin/Field/FieldWidget/TimeFieldStandardWidget.php, line 480

Class

TimeFieldStandardWidget
Plugin implementation of the 'timefield_standard_widget' widget.

Namespace

Drupal\timefield\Plugin\Field\FieldWidget

Code

public static function validateTimeField($element, FormStateInterface $form_state) {

  // If empty, set to null.
  if (strlen($element['#value']) == 0) {
    if (!empty($element['#required'])) {
      $form_state
        ->setError($element, new TranslatableMarkup('@name field is required.', [
        '@name' => Html::escape($element['#title']),
      ]));
    }
    $form_state
      ->setValueForElement($element, NULL);
    return;
  }
  $date_value = date_parse($element['#value']);
  if ($date_value['error_count']) {
    $form_state
      ->setError($element, new TranslatableMarkup('Please enter the time in a valid format'));
  }
  else {
    $parsed_value = timefield_time_to_integer($element['#value']);
    $form_state
      ->setValueForElement($element, $parsed_value);
  }
}