/**
  * Returns default context's validators configuration. This method may be
  * overrided in subclasses.
  * @return array default config for [[getValidators()]].
  * This value will be used in [[getValidators()]] if 'validators' property was not set.
  */
 protected function defaultValidators()
 {
     return [FileValidator::className()];
 }
 /**
  * @param $attribute
  * @return array|null|object|Validator
  */
 private function getValidator($attribute)
 {
     if (!($validator = @$this->attributes[$attribute]['validate'])) {
         return null;
     }
     if ($validator instanceof Validator) {
         return $validator;
     }
     if (is_array($validator)) {
         isset($validator['class']) or $validator['class'] = FileValidator::className();
         $validator['attributes'] = $attribute;
         return $this->attributes[$attribute]['validate'] = Yii::createObject($validator);
     }
     if (is_string($validator)) {
         return $this->attributes[$attribute]['validate'] = Validator::createValidator($validator, $this->owner, $attribute);
     }
 }
 /**
  * @throws \yii\base\InvalidConfigException
  */
 protected function addValidator()
 {
     unset($this->validator['maxFiles']);
     /* @var $validator \yii\validators\FileValidator|\yii\validators\ImageValidator */
     $validator = \Yii::createObject(array_merge(['class' => $this->image ? \yii\validators\ImageValidator::className() : \yii\validators\FileValidator::className(), 'attributes' => [$this->attribute]], $this->validator));
     $this->owner->getValidators()->offsetSet($this->getValidatorIndex(), $validator);
 }