/** * @param mixed $data * @param string $field * @param array $options * @return string * @throws \ValidationException */ public static function validate_datetime($data, $field, $options = []) { $options = array_merge(['required' => true], $options); $required = $options['required']; if (isset($data[$field]) && is_string($data[$field])) { $date = $data[$field]; $dateTime = new \SS_Datetime(); $dateTime->setValue($date); if (!$dateTime->getValue()) { throw new \ValidationException("No valid datetime given."); } return $dateTime->Format('Y-m-d H:i:s'); } else { if ($required) { throw new \ValidationException("No {$field} given, but {$field} is required"); } } }