簡體   English   中英

無法加載表單 yii2

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM