示例#1
0
 /**
  * Валидации времени до которого будет заблокирован пользователь
  * @param $attribute
  */
 public function validateTime($attribute)
 {
     $DateValidator = new \yii\validators\DateValidator(['format' => 'php:Y-m-d']);
     $DateTimeValidator = new \yii\validators\DateValidator(['format' => 'php:Y-m-d H:i:s']);
     if (!$DateValidator->validate($this->{$attribute}) && !$DateTimeValidator->validate($this->{$attribute}) && !$DateTimeValidator->validate($this->{$attribute} . ':00')) {
         $this->addError($attribute, 'Неправильная дата');
     }
 }
示例#2
0
 /**
  * Validates that all uploaded images have a timestamp of the correct
  * format. The alternate format is converted during later processing, so is
  * valid at initial submission.
  * @param string $attribute The attribute being validated.
  * @param array  $params
  */
 public function validateImageTimestamp($attribute, $params)
 {
     $images = UploadedFile::getInstances($this, $attribute);
     $validator = new \yii\validators\DateValidator();
     $validator->format = 'yyyy-MM-dd HH:mm:ss';
     $altValidator = new \yii\validators\DateValidator();
     $altValidator->format = 'yyyy:MM:dd HH:mm:ss';
     foreach ($images as $image) {
         if (file_exists($image->tempName)) {
             $exif = exif_read_data($image->tempName);
             if (!isset($exif['DateTimeOriginal'])) {
                 $this->addError($attribute, ucwords($attribute) . ' must have date taken metadata.');
                 break;
             }
             $timestamp = $exif['DateTimeOriginal'];
             if (!$validator->validate($timestamp) && !$altValidator->validate($timestamp)) {
                 $this->addError($attribute, ucwords($attribute) . ' must have correctly-formatted date taken metadata.');
                 break;
             }
         }
     }
 }