我只想将GET-param添加到用户的URL中。 我使用第三方模块操作,所以我不想更改
的签名public function actionReset($id, $code)
我在控制器中有这样的模型
$model = new DynamicModel([
'code'
]);
$model->addRule(['code'], 'required');
$model->addRule(['code'], 'string');
这样的ActiveForm
<?php $form = ActiveForm::begin([
'method' => 'get',
'action' => [
\yii\helpers\Url::current()
]
]) ?>
<?php echo $form->field($model, 'code')->textInput()->label(false); ?>
<?php echo Html::submitButton(Yii::t('user', 'Continue')); ?>
<?php ActiveForm::end(); ?>
通过这样的实现,它传递了一个数组包装器:
是否可以避免使用没有自定义js的包装器?
答案 0 :(得分:2)
可能是您可以在activeForm配置中指定它
<?php $form = ActiveForm::begin([
'method' => 'get',
'action' => [
\yii\helpers\Url::current(), 'your_att' => $your_value
]
]) ?>
或以数组格式
<?php $form = ActiveForm::begin([
'method' => 'get',
'action' => [
\yii\helpers\Url::current(), ['your_att' => $your_value],
]
]) ?>
答案 1 :(得分:0)
我找到了答案here
现在我的视图代码看起来像
<?=Html::beginForm(Url::current(), 'get', ['csrf' => false]);?>
<?=Html::input('text', 'code', 'test')?>
<?=Html::a('Submit', '', [
'data' => [
'method' => 'get',
]
])?>
<?=Html::endForm();?>