You are here

public function TimePickerWidget::validate in Time Field Picker 8.5

Validate the color text field.

File

src/Plugin/Field/FieldWidget/TimePickerWidget.php, line 93

Class

TimePickerWidget
Plugin implementation of the 'time_picker_widget' widget.

Namespace

Drupal\time_picker\Plugin\Field\FieldWidget

Code

public function validate($element, FormStateInterface $form_state) {
  $value = $element['#value'];
  if (strlen($value) === 0) {
    $form_state
      ->setValueForElement($element, '');
    return;
  }
  $hour_format = $this
    ->getFieldSetting('hour_format');
  if ($hour_format === '12h') {
    if (!preg_match('/^(0?[1-9]|1[012])(:[0-5]\\d) [APap][mM]$/', $value)) {
      $form_state
        ->setError($element, $this
        ->t('Please enter valid time formate.'));
    }
  }
  elseif ($hour_format === '24h') {
    if (!preg_match('/^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/', $value)) {
      $form_state
        ->setError($element, $this
        ->t('Please enter valid time formate.'));
    }
  }
}