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

第一步、接着教程(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

posted @ 2016-02-04 15:32  yxwkaifa  阅读(277)  评论(0编辑  收藏  举报