您的位置:首页 > 编程语言 > PHP开发

Yii Framework2.0开发教程(2)使用表单Form

2016-02-04 15:32 771 查看
第一步、接着教程(1)。我们在controllers/ZhyoulunController.php中加入两处,

1)

use app\models\EntryForm;




2)

public function actionEntry()
{
$model = new EntryForm;

if ($model->load(Yii::$app->request->post()) && $model->validate())
{
// 验证 $model 收到的数据

// 做些有意义的事 ...
return $this->render('entry-confirm', ['model' => $model]);
}
else
{
// 不管是初始化显示还是数据验证错误
return $this->render('entry', ['model' => $model]);
}
}


文件内容例如以下所看到的:

<?

php
namespace app\controllers;

use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;

//注意这一行,和models/entryform.php相应
use app\models\EntryForm;

//类名ZhyoulunController必须和文件名称相应
class ZhyoulunController extends Controller
{
public function actionHelloworld()
{
return $this->renderPartial('helloworld');
//return $this->render('helloworld');
}

/*
该操作首先创建了一个 EntryForm 对象。
然后尝试从 $_POST 搜集用户提交的数据。
并确保用户提交的是有效数据。
*/
public function actionEntry() { $model = new EntryForm; if ($model->load(Yii::$app->request->post()) && $model->validate()) { // 验证 $model 收到的数据 // 做些有意义的事 ... return $this->render('entry-confirm', ['model' => $model]); } else { // 不管是初始化显示还是数据验证错误 return $this->render('entry', ['model' => $model]); } }
}


第二步、在models目录中新建EntryForm.php

<?

php

namespace app\models;

use yii\base\Model;

class EntryForm extends Model
{
public $name;
public $email;

public function rules()
{
//name 和 email 值都是必须的
//mail 的值必须满足 email 地址验证
return [
[['name', 'email'], 'required'],
['email', 'email'],
];
}
}


第三步、在views/zhyoulun目录中新建entry.php和entry-confirm.php,作为显示效果和提交结果

entry.php

<?

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

>

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

<?

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

<div class="form-group">
<?

= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?

>
</div>

<?

php ActiveForm::end(); ?>


entry-confirm.php

<?

php
use yii\helpers\Html;
?>
<p>你输入的信息例如以下所看到的:</p>

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

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


第四步、訪问网址http://localhost/basic/web/index.php?r=zhyoulun/entry



输入信息



提交



參考:http://www.yiichina.com/guide/2/start-forms

转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/40454181
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: