예제 #1
0
 /**
  * test time validation when passing an array
  *
  * @return void
  */
 public function testTimeArray()
 {
     $date = ['hour' => 13, 'minute' => 14, 'second' => 15];
     $this->assertTrue(Validation::time($date));
     $date = ['hour' => 1, 'minute' => 14, 'second' => 15, 'meridian' => 'am'];
     $this->assertTrue(Validation::time($date));
     $date = ['hour' => 12, 'minute' => 14, 'second' => 15, 'meridian' => 'pm'];
     $this->assertTrue(Validation::time($date));
     $date = ['hour' => 'farts', 'minute' => 'farts'];
     $this->assertFalse(Validation::time($date));
     $date = [];
     $this->assertFalse(Validation::time($date));
 }
예제 #2
0
 /**
  * Validation of Time fields
  *
  * @param mixed $value
  * @param array $options
  * - timeFormat (defaults to 'hms')
  * - allowEmpty
  * - after/before (fieldName to validate against)
  * - min/max (defaults to >= 1 - at least 1 minute apart)
  * @param array $context
  * @return bool Success
  */
 public function validateTime($value, $options = [], array $context = [])
 {
     if (!$value) {
         return false;
     }
     $dateTime = explode(' ', $value, 2);
     $value = array_pop($dateTime);
     if (Validation::time($value)) {
         // after/before?
         if (!empty($options['after']) && isset($context['data'][$options['after']])) {
             if ($context['data'][$options['after']] >= $value) {
                 return false;
             }
         }
         if (!empty($options['before']) && isset($context['data'][$options['before']])) {
             if ($context['data'][$options['before']] <= $value) {
                 return false;
             }
         }
         return true;
     }
     return false;
 }
예제 #3
0
 /**
  * testTime method
  *
  * @return void
  */
 public function testTime()
 {
     $this->assertTrue(Validation::time('00:00'));
     $this->assertTrue(Validation::time('23:59'));
     $this->assertFalse(Validation::time('24:00'));
     $this->assertTrue(Validation::time('12:00'));
     $this->assertTrue(Validation::time('12:01'));
     $this->assertTrue(Validation::time('12:01am'));
     $this->assertTrue(Validation::time('12:01pm'));
     $this->assertTrue(Validation::time('1pm'));
     $this->assertTrue(Validation::time('1 pm'));
     $this->assertTrue(Validation::time('1 PM'));
     $this->assertTrue(Validation::time('01:00'));
     $this->assertFalse(Validation::time('1:00'));
     $this->assertTrue(Validation::time('1:00pm'));
     $this->assertFalse(Validation::time('13:00pm'));
     $this->assertFalse(Validation::time('9:00'));
 }