URL действия формы не работает в среде yii2 - PullRequest
0 голосов
/ 11 ноября 2019
<?php $form = ActiveForm::begin(['options' => ['action'=>'SiteController/actionUploadImage','method'=>'post','enctype' => 'multipart/form-data']]) ?>

<?= $form->field($model, 'image')->fileInput() ?>

<button>Submit</button>

<?php ActiveForm::end() ?>

Это моя форма, действие проверки элемента не отображается.

Ответы [ 2 ]

1 голос
/ 11 ноября 2019

В вашем коде есть 2 основные проблемы.

Первая: массив с URL должен иметь формат ['controller-id/action-id'], а ваш URL имеет формат ['ControllerClass/actionMethod'].

Второй - позиция action в вашем массиве. Как указано Sfili_81 в его ответе https://stackoverflow.com/a/58797242/11977068

Таким образом, правильный код должен выглядеть следующим образом:

$form = ActiveForm::begin([
    'action' => ['site/upload-image'],
    'method' => 'post',
    'options' => ['enctype' => 'multipart/form-data'],
]);

Кроме того, поскольку в yii 2.0.8 нет необходимости явноиспользуйте опцию enctype, если вы используете ActiveForm. Вызов $form->field(...)->fileInput() обеспечит правильный энтип.

0 голосов
/ 11 ноября 2019

Вы должны написать действие вне опций, как это:

<?php $form = ActiveForm::begin(['action' => ['SiteController/actionUploadImage'],'method' => 'post']) ?>

[документация]

...