yii\validators\FileValidator::getClientOptions PHP Метод

getClientOptions() защищенный Метод

Returns the client-side validation options.
protected getClientOptions ( Model $model, string $attribute ) : array
$model yii\base\Model the model being validated
$attribute string the attribute name being validated
Результат array the client-side validation options
    protected function getClientOptions($model, $attribute)
    {
        $label = $model->getAttributeLabel($attribute);
        $options = [];
        if ($this->message !== null) {
            $options['message'] = Yii::$app->getI18n()->format($this->message, ['attribute' => $label], Yii::$app->language);
        }
        $options['skipOnEmpty'] = $this->skipOnEmpty;
        if (!$this->skipOnEmpty) {
            $options['uploadRequired'] = Yii::$app->getI18n()->format($this->uploadRequired, ['attribute' => $label], Yii::$app->language);
        }
        if ($this->mimeTypes !== null) {
            $mimeTypes = [];
            foreach ($this->mimeTypes as $mimeType) {
                $mimeTypes[] = new JsExpression(Html::escapeJsRegularExpression($this->buildMimeTypeRegexp($mimeType)));
            }
            $options['mimeTypes'] = $mimeTypes;
            $options['wrongMimeType'] = Yii::$app->getI18n()->format($this->wrongMimeType, ['attribute' => $label, 'mimeTypes' => implode(', ', $this->mimeTypes)], Yii::$app->language);
        }
        if ($this->extensions !== null) {
            $options['extensions'] = $this->extensions;
            $options['wrongExtension'] = Yii::$app->getI18n()->format($this->wrongExtension, ['attribute' => $label, 'extensions' => implode(', ', $this->extensions)], Yii::$app->language);
        }
        if ($this->minSize !== null) {
            $options['minSize'] = $this->minSize;
            $options['tooSmall'] = Yii::$app->getI18n()->format($this->tooSmall, ['attribute' => $label, 'limit' => $this->minSize, 'formattedLimit' => Yii::$app->formatter->asShortSize($this->minSize)], Yii::$app->language);
        }
        if ($this->maxSize !== null) {
            $options['maxSize'] = $this->maxSize;
            $options['tooBig'] = Yii::$app->getI18n()->format($this->tooBig, ['attribute' => $label, 'limit' => $this->getSizeLimit(), 'formattedLimit' => Yii::$app->formatter->asShortSize($this->getSizeLimit())], Yii::$app->language);
        }
        if ($this->maxFiles !== null) {
            $options['maxFiles'] = $this->maxFiles;
            $options['tooMany'] = Yii::$app->getI18n()->format($this->tooMany, ['attribute' => $label, 'limit' => $this->maxFiles], Yii::$app->language);
        }
        return $options;
    }

Usage Example

Пример #1
0
 /**
  * @inheritdoc
  */
 protected function getClientOptions($model, $attribute)
 {
     $options = parent::getClientOptions($model, $attribute);
     $label = $model->getAttributeLabel($attribute);
     if ($this->notImage !== null) {
         $options['notImage'] = Yii::$app->getI18n()->format($this->notImage, ['attribute' => $label], Yii::$app->language);
     }
     if ($this->minWidth !== null) {
         $options['minWidth'] = $this->minWidth;
         $options['underWidth'] = Yii::$app->getI18n()->format($this->underWidth, ['attribute' => $label, 'limit' => $this->minWidth], Yii::$app->language);
     }
     if ($this->maxWidth !== null) {
         $options['maxWidth'] = $this->maxWidth;
         $options['overWidth'] = Yii::$app->getI18n()->format($this->overWidth, ['attribute' => $label, 'limit' => $this->maxWidth], Yii::$app->language);
     }
     if ($this->minHeight !== null) {
         $options['minHeight'] = $this->minHeight;
         $options['underHeight'] = Yii::$app->getI18n()->format($this->underHeight, ['attribute' => $label, 'limit' => $this->minHeight], Yii::$app->language);
     }
     if ($this->maxHeight !== null) {
         $options['maxHeight'] = $this->maxHeight;
         $options['overHeight'] = Yii::$app->getI18n()->format($this->overHeight, ['attribute' => $label, 'limit' => $this->maxHeight], Yii::$app->language);
     }
     return $options;
 }
All Usage Examples Of yii\validators\FileValidator::getClientOptions