私はクリーンyii2-advanced
テンプレートがインストールされています。私はid
とtest
フィールドを持つDBのテーブルを作成しました。私のModel
では、私はrule
を書いた:Yii2クライアントの検証が機能しません
public function rules()
{
return [
[['test'], 'required'],
];
}
また、私は私のform
のためのユニークなid
を指定しました。 しかし、検証は機能しません。 smthをcontrol
とfocus out
に入力した後、console
:Uncaught TypeError: Cannot read property 'required' of undefined
にエラーがあります。これの理由は何でしょうか?
EDIT:
モデル:
<?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,
]);
}
}
申し訳ありませんが、私は誤植をしました。列名は 'test'です。もちろん私はあなたが書いた方法でそれをやった。そしてそれは記述されたエラーを投げます。 – Dmytro
それでも問題が解決しない場合は、モデル、コントローラーとフォームの動作で質問を更新できますか?ここではエラーを再現できませんでした。ところで、あなたはMYSQLまたはMSSQLを使用していますか? – Clyff
投稿を更新しました – Dmytro