コード例 #1
0
 /**
  *
  * Empty Data ist NULL
  * 
  * @return DateTime
  */
 public function validate($data)
 {
     if (is_integer($data) && $data > 0) {
         return new DateTime($data);
     }
     if ($data === NULL || !is_array($data) || !array_key_exists('date', $data) || $data['date'] == NULL || !$this->timeIsOptional && (!array_key_exists('time', $data) || $data['time'] == NULL)) {
         throw EmptyDataException::factory(NULL);
     }
     $data['time'] = !isset($data['time']) ? NULL : trim($data['time']);
     $dateRule = new DateValidatorRule('d.m.Y');
     $date = $dateRule->validate($data['date']);
     // cooler: time validator rule
     if ($this->timeIsOptional && $data['time'] == NULL) {
         return new DateTime($date);
         // sets time to 00:00
     } else {
         return DateTime::parse('d.m.Y H:i', $date->format('d.m.Y') . ' ' . $data['time']);
     }
 }
コード例 #2
0
 /**
  * @dataProvider provideFormats
  */
 public function testConstruct($format)
 {
     $rule = new DateValidatorRule($format);
     $this->assertEquals($format, $rule->getFormat());
 }