我安装了干净的yii2-advanced
模板。我在数据库中创建了一个包含id
和test
字段的表格。在我的Model
我写了rule
:
public function rules()
{
return [
[['test'], 'required'],
];
}
我还为id
指定了唯一的form
。
但验证不起作用。输入smth到control
和focus out
后,我在console
:Uncaught TypeError: Cannot read property 'required' of undefined
中出错了。这可能是什么原因?
修改
型号:
<?php
namespace backend\models;
use Yii;
use yii\base\Model;
class ContactForm extends Model
{
public $name;
public function rules()
{
return [
[['name'], 'required'],
];
}
}
查看:
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
?>
<div class="site-contact">
<div class="row">
<div class="col-lg-6">
<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>
<?= $form->field($model, 'name')->textInput() ?>
<?= Html::submitButton('Submit', ['class' => 'btn btn-success']) ?>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
控制器操作:
use backend\models\ContactForm;
public function actionContact()
{
$model = new ContactForm();
if ($model->load(Yii::$app->request->post())) {
return $this->refresh();
} else {
return $this->render('contact', [
'model' => $model,
]);
}
}