/**
  * Checks datetime null or datetime
  *
  * @param object &$model use model
  * @param array $check check data array
  * @return bool
  */
 public function checkDateTime(&$model, $check)
 {
     foreach ($check as $val) {
         if (Validation::blank($val)) {
             continue;
         }
         $ret = Validation::datetime($val);
         if (!$ret) {
             return false;
         }
     }
     return true;
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function beforeValidate($options = array())
 {
     if (empty($this->data[$this->alias]['token'])) {
         $this->data[$this->alias]['token'] = $this->generate();
     }
     if (empty($this->data[$this->alias]['expires'])) {
         if (!empty($this->expires)) {
             $this->data[$this->alias]['expires'] = $this->expires;
         } else {
             $this->data[$this->alias]['expires'] = Common::read('Security.expireToken', '+3 days');
         }
     }
     if (!Validation::datetime($this->data[$this->alias]['expires'])) {
         $this->data[$this->alias]['expires'] = date('Y-m-d H:i:s', strtotime($this->data[$this->alias]['expires']));
     }
     return true;
 }
 /**
  * checkDatetimeType
  *
  * @param array $question question
  * @param string $answer answer value
  * @return array error message
  */
 public function checkDatetimeType($question, $answer)
 {
     $errors = array();
     if ($question['question_type_option'] == QuestionnairesComponent::TYPE_OPTION_DATE) {
         if (!Validation::date($answer, 'ymd')) {
             $errors[] = sprintf(__d('questionnaires', 'Please enter a valid date in YY-MM-DD format.'));
         }
     } elseif ($question['question_type_option'] == QuestionnairesComponent::TYPE_OPTION_TIME) {
         if (!Validation::time($answer)) {
             $errors[] = sprintf(__d('questionnaires', 'Please enter the time.'));
         }
     } elseif ($question['question_type_option'] == QuestionnairesComponent::TYPE_OPTION_DATE_TIME) {
         if (!Validation::datetime($answer, 'ymd')) {
             $errors[] = sprintf(__d('questionnaires', 'Please enter a valid date and time.'));
         }
     }
     return $errors;
 }
 /**
  * _validateDatetime 日付・時間の正当性
  *
  * @param object &$model use model
  * @param int $questionTypeOption 時間・日付オプション
  * @param string $answer 登録データ
  * @return bool
  */
 protected function _validateDatetime(&$model, $questionTypeOption, $answer)
 {
     if ($questionTypeOption == RegistrationsComponent::TYPE_OPTION_DATE) {
         if (!Validation::date($answer, 'ymd')) {
             $model->validationErrors['answer_value'][] = __d('registrations', 'Please enter a valid date in YY-MM-DD format.');
             return false;
         }
     } elseif ($questionTypeOption == RegistrationsComponent::TYPE_OPTION_TIME) {
         if (!Validation::time($answer)) {
             $model->validationErrors['answer_value'][] = __d('registrations', 'Please enter the time.');
             return false;
         }
     } elseif ($questionTypeOption == RegistrationsComponent::TYPE_OPTION_DATE_TIME) {
         if (!Validation::datetime($answer, 'ymd')) {
             $model->validationErrors['answer_value'][] = __d('registrations', 'Please enter a valid date and time.');
             return false;
         }
     } else {
         $model->validationErrors['answer_value'][] = __d('net_commons', 'Invalid request.');
         return false;
     }
     return true;
 }
Ejemplo n.º 5
0
 /**
  * testDatetime method
  *
  * @return void
  */
 public function testDatetime()
 {
     $this->assertTrue(Validation::datetime('27-12-2006 01:00', 'dmy'));
     $this->assertTrue(Validation::datetime('27-12-2006 01:00', array('dmy')));
     $this->assertFalse(Validation::datetime('27-12-2006 1:00', 'dmy'));
     $this->assertTrue(Validation::datetime('27.12.2006 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('27.12.2006 13:00pm', 'dmy'));
     $this->assertTrue(Validation::datetime('27/12/2006 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('27/12/2006 9:00', 'dmy'));
     $this->assertTrue(Validation::datetime('27 12 2006 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('27 12 2006 24:00', 'dmy'));
     $this->assertFalse(Validation::datetime('00-00-0000 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('00.00.0000 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('00/00/0000 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('00 00 0000 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('31-11-2006 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('31.11.2006 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('31/11/2006 1:00pm', 'dmy'));
     $this->assertFalse(Validation::datetime('31 11 2006 1:00pm', 'dmy'));
 }
 /**
  * __checkMinMaxDateTime
  * min and max is require both value
  *
  * @param object &$model use model
  * @param bool $check post data
  * @return bool
  */
 private function __checkMinMaxDateTime(&$model, $check)
 {
     if ($model->data['QuestionnaireQuestion']['question_type_option'] == QuestionnairesComponent::TYPE_OPTION_DATE_TIME) {
         if (!Validation::datetime($model->data['QuestionnaireQuestion']['min'])) {
             return false;
         }
         if (!Validation::datetime($model->data['QuestionnaireQuestion']['max'])) {
             return false;
         }
     }
     return true;
 }