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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c++迭代器遍历list集合_list迭代器遍历删除对象

    c++迭代器遍历list集合_list迭代器遍历删除对象迭代器可用于遍历ArrayList。如果ArrayList中有更多元素,则hasNext()方法返回true,否则返回false。next()方法返回ArrayList中的下一个元素,如果没有下一个元素,则引发异常NoSuchElementException。演示该程序的程序如下。示例importjava.util.ArrayList;importjava.util.Iterator;publ…

    2022年9月27日
    3
  • 卷积神经网络概念与原理[通俗易懂]

    卷积神经网络概念与原理[通俗易懂]一、卷积神经网络的基本概念受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),YannLecun最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。卷积神经网络与普通神经网络的区别在于,卷

    2022年6月13日
    31
  • knox芯片_推广代理平台

    knox芯片_推广代理平台使用knox进行正向和反向代理,并且进行一些权限认证,使用起来很方便,特别是对于NiFi的相关权限认证(ldap),所以本章节讲下我使用knox代理的服务,以及相关的一些配置选项。/gateway/san在这里面的每个xml被视为一个集群,集群中可以有多个service。topologies目录下的xml文件才会被加载,如果下面有文件夹不会继续查找。默认已经帮我们把所有的配置好了,所以只需要更改下面service的ip就行。这里创建了一个master秘钥,是给knoxgateway的秘钥。

    2025年7月25日
    3
  • RT-thread finsh移植到linux平台

    RT-thread finsh移植到linux平台目录FinSH介绍传统命令行模式C语言解释器模式FinSH移植移植要点效果验证代码下载参考在一次项目中,需要进行嵌入式操作系统选型,需求就是选择一款OS,既能满足当下项目的需要,又要考虑公司未来对物联网应用的扩展能力,对比了目前市面上流行的开源操作系统,诸如FreeRTOS,RTX,UCOS,RT-Thread,contiki等,最终确定了一款Io…

    2022年5月21日
    34
  • 【转载】C# sleep 和wait的区别

    【转载】C# sleep 和wait的区别

    2021年11月20日
    47
  • 电子元器件分销10亿俱乐部[通俗易懂]

    电子元器件分销10亿俱乐部[通俗易懂]2015中国本土元器件分销商10亿俱乐部成员:1、科通集团简介:科通集团创建于1995年,是中国最大的IC元器件分销商。总部设于深圳,并在香港和上海有分公司。科通为国内的OEM厂商、ODM厂商和EMS厂商提供范围广泛的电子元器件,其应用涉及无线通信、电信设备、企业网络、数字媒体、家庭娱乐、汽车电子、工业控制等等众多领域。销售额:2015年营收-约84亿元员工人数:约400人产品线:Xili…

    2022年6月22日
    75

发表回复

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

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