没有型号yii2的ActiveForm

时间:2015-09-03 06:06:14

标签: yii2 yii2-advanced-app yii2-basic-app

我想创建ActiveForm没有模型,以防万一。我确实试过了dynamicModel,但我收到了一些错误:

use yii\base\DynamicModel;
$model = DynamicModel::validateData(compact('KOMENTAR'), [
   [['KOMENTAR'], 'string', 'max' => 128],
]);

这是我想要创建的表单

<br>
<?php $form = ActiveForm::begin([
    'method' => 'post',
]); ?>

<?= $form->field($model, 'KOMENTAR')->textarea(['rows' => 6])->label(false) ?>

<div class="form-group">
    <?= Html::submitButton('POST', ['class' => 'btn btn-primary']) ?>
</div>

这是错误

Getting unknown property: yii\base\DynamicModel::KOMENTAR

2 个答案:

答案 0 :(得分:11)

通常活动项目用于处理模型,但Yii2有一个名为Html的帮助程序类,可以使用与经典HTML相同的项目。

使用Html中的beginForm()方法。并尝试类似的东西:

use yii\helpers\Html;

<?= Html::beginForm(['/controller/view', 'id' => $model->id], 'POST'); ?>
<?= Html::textarea('KOMENTAR', '', ['rows' => 6])->label(false); ?>
<div class="form-group">
    <?= Html::submitButton('POST', ['class' => 'btn btn-primary']); ?>
</div>
<?= Html::endForm(); ?>

您可以在the documentation中了解有关此帮助程序的更多信息。

答案 1 :(得分:8)

由于您使用的是m_cContainer.Add(&m_1),因此您应该拥有compact('KOMENTAR')变量。

详细了解$KOMENTARhttp://php.net/manual/fr/function.compact.php

或者你应该简单地创建你的模型:

compact