yii2.0 控制器方法 视图表单 Form表单处理

假设咱们在ArticleController.php下面的actionForm方法中来处理提交的表单php

 

新创建一个 views/Article/article-form.php文件用来做为输入表单app

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'title') ?>

    <?= $form->field($model, 'content') ?>

    <div class="form-group">
        <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
    </div>

<?php ActiveForm::end(); ?>

 

新创建一个 views/Article/article-confirm.php文件用来显示表单处理成功后的结果yii

<?php
use yii\helpers\Html;
?>
<p>You have entered the following information:</p>

<ul>
    <li><label>Name</label>: <?= Html::encode($model->title) ?></li>
    <li><label>Email</label>: <?= Html::encode($model->content) ?></li>
</ul>

 

需求:提交过来的数据须要验证--title、content不能为空post

新建models/ArticleForm.php测试

<?php

namespace app\models;

use yii\base\Model;

class ArticleForm extends Model
{
    public $title;
    public $content;

    public function rules()
    {
        return [
            [['title', 'content'], 'required'],
            //['email', 'email'],
        ];
    }
}

 

最后在ArticleController.php中完成actionForm方法ui

public function actionForm()
    {
        $model = new ArticleForm;
        if ($model->load(Yii::$app->request->post()) && $model->validate())
        {
            // 验证 $model 收到的数据
            // 作些有意义的事 ...
            return $this->render('article-confirm', ['model' => $model]);
        }
        else
        {
            // 不管是初始化显示仍是数据验证错误
            return $this->render('article-form', ['model' => $model]);
        }

 

访问http://www.basic.com/index.php?r=article/form便可测试this

相关文章
相关标签/搜索