2016-01-21 23 views
1

我正在使用wbraganca yii2-dynamicform和kartik yii2-widget-fileinput。表單工作正常,但是當我嘗試上傳時,圖像始終爲空。Yii2 DynamicForm輸入文件圖像始終爲空或NULL

這是我的控制器。

視圖形式

//_form.php 
    <?php $form = ActiveForm::begin([ 
    'enableClientValidation' => false, 
    'enableAjaxValidation' => true, 
    'validateOnChange' => true, 
    'validateOnBlur' => false, 
    'options' => [ 
     'enctype' => 'multipart/form-data', 
     'id' => 'dynamic-form' 
    ] 
    ]); 
?> 
    //_form_add_image.php 
<?php DynamicFormWidget::begin([ 
    'widgetContainer' => 'dynamicform_wrapper', 
    'widgetBody' => '.form-options-body', 
    'widgetItem' => '.form-options-item', 
    'min' => 1, 
    'insertButton' => '.add-item', 
    'deleteButton' => '.delete-item', 
    'model' => $modelsOptionValue[0], 
    'formId' => 'dynamic-form', 
    'formFields' => [ 
     'upload_image' 
    ], 
]); ?> 

<?= $form->field($modelOptionValue, "[{$index}]upload_image")->label(false)->widget(FileInput::classname(), [ 
         'options' => [ 
          'multiple' => false, 
          'accept' => 'image/*', 
          'class' => 'optionvalue-img' 
         ], 
         'pluginOptions' => [ 
          'previewFileType' => 'image', 
          'showCaption' => false, 
          'showUpload' => false, 
          'browseClass' => 'btn btn-default btn-sm', 
          'browseLabel' => ' Seleccionar Imagen', 
          'browseIcon' => '<i class="glyphicon glyphicon-picture"></i>', 
          'removeClass' => 'btn btn-danger btn-sm', 
          'removeLabel' => ' Borrar', 
          'removeIcon' => '<i class="fa fa-trash"></i>', 
          'previewSettings' => [ 
           'image' => ['width' => '138px', 'height' => 'auto'] 
          ], 
          'initialPreview' => $initialPreview, 
          'layoutTemplates' => ['footer' => ''] 
         ] 
        ]) ?> 

和我的模型截圖yii2日誌

public $upload_image; 
/** 
* @inheritdoc 
*/ 
public static function tableName() 
{ 
    return 'option_value'; 
} 

/** 
* @inheritdoc 
*/ 
public function rules() 
{ 
    return [ 
     [['upload_image'], 'file', 'extensions' => 'png, jpg', 'skipOnEmpty' => true], 
     [['id_montacarga', 'sort_order'], 'integer'] 
    ]; 
} 

。更新

yiilog

檢查元素截圖 html

謝謝!

+0

附加' '是enctype'=>「多部分/形式data''。 –

+0

@InsaneSkull謝謝你的回答,在哪裏?在選項或pluginOptions內? – Archagy

+0

嘗試在'選項'裏面。請參閱:http://wbraganca.com/yii2extensions/dynamicform-demo2/source-code –

回答

1

ActiveForm中加上'enctype' => 'multipart/form-data'

<?php $form = ActiveForm::begin([ 
    'options' => [ 
     'enctype' => 'multipart/form-data', 
     'id' => 'dynamic-form' 
    ] 
]); ?> 

如果您不想進行ajax驗證,請將Ajax驗證設置爲false。

Reference

+0

@AlexiShagy。 upvote(如果適用)。 –

+0

完成。謝謝@InsaneSkull – Archagy