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

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]);
		}
	}

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

<?

phpnamespace 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

<?

phpuse 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

<?

phpuse 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

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

输入信息

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

提交

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

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

转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/40454181

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116050.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • openwrt外网web管理_OpenAPI

    openwrt外网web管理_OpenAPI转自:http://odoodevelop.lofter.com/1.web模块注意,OpenERP模块中web部分用到的所有文件必须被放置在模块内的 static 文件夹里。这是强制性的,出于安全考虑。事实上,我们创建的文件夹CSS,JS和XML,仅仅是一个习惯。static文件夹oepetstore/static/css/petst

    2025年7月4日
    2
  • Spring如何解决循环依赖问题

    Spring如何解决循环依赖问题

    2021年4月10日
    106
  • 迭代和递归的理解和区别

    迭代和递归的理解和区别最近做一些题经常会碰到迭代的方法解的,或者递归解法,容易搞混,特在此整理一下一.递归:由例子引出,先看看递归的经典案例都有哪些1.斐波那契数列斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。2.阶乘n!=n*(n-1)*(n-2)*…*1(n>0)3.汉诺塔问…

    2022年5月3日
    36
  • PostgreSQL 10.1 手册_部分 III. 服务器管理_第 20 章 客户端认证

    PostgreSQL 10.1 手册_部分 III. 服务器管理_第 20 章 客户端认证

    2021年6月14日
    84
  • matlab设计理想高斯巴特沃斯低通滤波器_方程推导:二阶有源带通滤波器设计!(下载:教程+原理图+视频+代码)…

    matlab设计理想高斯巴特沃斯低通滤波器_方程推导:二阶有源带通滤波器设计!(下载:教程+原理图+视频+代码)…1、背景对于微弱的信号的处理方式一般是:放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。假设需要处理一个20mV的正弦信号,该信号的频率范围是15~35Hz,经过处理后幅值不超过3.3V,且需要经过带通滤波器滤除杂波。2、滤波器定义滤波电路又称为滤波器,是一种选频电路,能够使特定频率范围的信号通过,…

    2022年5月25日
    38
  • 启动apache服务_cannot resolve org.apache

    启动apache服务_cannot resolve org.apache最近在使用PHP5.6+Apache2.4,搭建开发环境;在实际的开发过程中发现http请求一致处于挂起状态,于是重启(netstart/stop)Apache2.4服务,然后再访问问题得到了解决,但是过一会,平凡的打开页面又出现问题,通过查看web服务器的日志,发现报很多"指定的网络名不再可用"的错误:12345[Thu Nov 20 14…

    2022年9月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号