Noo*_*ict 4 yii2 yii2-advanced-app yii2-basic-app
我想创建ActiveForm没有模型,以防万一.我尝试过dynamicModel但是我遇到了一些错误:
use yii\base\DynamicModel;
$model = DynamicModel::validateData(compact('KOMENTAR'), [
[['KOMENTAR'], 'string', 'max' => 128],
]);
Run Code Online (Sandbox Code Playgroud)
这是我想要创建的表单
<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>
Run Code Online (Sandbox Code Playgroud)
这是错误
Getting unknown property: yii\base\DynamicModel::KOMENTAR
Run Code Online (Sandbox Code Playgroud)
Sag*_*eth 12
通常,活动项目用于处理模型,但Yii2有一个辅助类,调用它Html来使用与经典HTML相同的项目.
使用beginForm()方法Html.并尝试这样的事情:
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(); ?>
Run Code Online (Sandbox Code Playgroud)
您可以在文档中阅读有关此帮助程序的更多信息.
soj*_*oju 10
既然你正在使用compact('KOMENTAR'),你应该有一个$KOMENTAR变量.
阅读更多关于compact:http://php.net/manual/fr/function.compact.php
或者您应该像这样创建模型:
$model = new \yii\base\DynamicModel(['KOMENTAR']);
$model->addRule(['KOMENTAR'], 'string', ['max' => 128]);
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
// do what you want
}
Run Code Online (Sandbox Code Playgroud)