[英]Cannot load form yii2
我是 yii2 的新手。 我正在嘗試在 yii2 中創建我的簡單表單來檢索密碼。 這是類代碼:
<?php
namespace app\models;
use yii\base\Model;
class RetrievePasswordForm extends Model
{
public $email;
public function rules()
{
return [
['email', 'required'],
['email', 'email'],
];
}
}
這是操作代碼:
$model = new RetrievePasswordForm();
if ($model->load(Yii::$app->request->post()) && $model->validate()){
return $this->render('retrievepassword-confirm', ['model' => $model]);
} else {
return $this->render('retrievepassword', ['model' => $model]);
}
我的表格是這樣的:
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
$this->title = 'Retrieve password';
$this->params['breadcrumbs'][] = $this->title;
?>
<h1><?= Html::encode($this->title) ?></h1>
<p>We will send link to retrieve your password to the following email:</p>
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'email')->textInput(['style'=>'width:200px'])?>
<div class="form-group">
<?= Html::submitButton('Send', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
問題是$model->load(Yii::$app->request->post())
總是返回 false,所以當我點擊“提交”按鈕時,頁面只是重新加載。 我目前在沒有數據庫的情況下工作。 當模型中收到有效數據時,我只是在創建表單並嘗試轉到另一個表單。 感謝幫助。
嘗試將方法和操作顯式分配給活動表單
然后假設您的目標操作名為 actionRetrivePassword
<?php $form = ActiveForm::begin([
'method' => 'post',
'action' => Url::to(['/site/retrivepassword']
); ?>
我會去我覺得不對,如果這沒有幫助,請提供更多信息。
這是一個注冊表單,所以我假設您需要電子郵件和密碼(因為您在數據庫中有這些列)。 但是您還在模型中聲明了公共成員$email
。 這將從數據庫中刪除與$email
關聯的任何值。 因此,刪除此行:
public $email;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.