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


相关推荐

  • Petshop4.0下载及安装图解教程[通俗易懂]

    Petshop4.0下载及安装图解教程[通俗易懂]前面简单介绍了petshop4.0以及SQL2005的安装图解,那么下面我们就来介绍下petshop4.0的下载和petshop4.0的安装petshop4.0下载petshop4.0下载地址:http://download.microsoft.com/download/8/0/1/801ff297-aea6-46b9-8e11-810df5df1032/Microsoft%20.NET%20Pet%20Shop%204.0.msi这个是官方的下载地址,要怎么下载应…

    2022年9月25日
    5
  • 懒加载(Lazy Loading) – MyBatis懒加载 – Spring懒加载

    懒加载(Lazy Loading) – MyBatis懒加载 – Spring懒加载文章目录懒加载(LazyLoading)MyBatis中懒加载的使用Spring中懒加载的使用懒加载(LazyLoading)  懒加载也叫“延迟价值”,核心思想是把对象的实例化延迟到真正调用该对象的时候,这样做的好处是可以减轻大量对象在实例化时对资源的消耗,而不是在程序初始化的时候就预先将对象实例化。另外“懒加载”可以将对象的实例化代码从初始化方法中独立出来,从而提高代码的可读性,以便于代码能够更好地组织。  特别是在web应用程序中,它能够在用户滚动页面的时候自动获取更多的数据,而新得到的数据

    2025年6月7日
    2
  • 分布式Session共享解决方案「建议收藏」

    Session是服务器用来保存用户操作的一系列会话信息,由Web容器进行管理。单机情况下,不存在Session共享的情况,分布式情况下,如果不进行Session共享会出现请求落到不同机器要重复登录的情况,一般来说解决Session共享有以下几种方案。1、session复制session复制是早期的企业级的使用比较多的一种服务器集群session管理机制。应用服务器开启web容器的sessi…

    2022年4月4日
    35
  • dedecms后台系统基本参数标题

    dedecms后台系统基本参数标题

    2021年10月7日
    44
  • CodeForces 441 A. Valera and Antique Items

    CodeForces 441 A. Valera and Antique Items

    2022年1月9日
    38
  • 公共开放WebService接口

    公共开放WebService接口公共开放WebService接口快递查询WEB服务 http://webservice.36wu.com/ExpressService.asmx支持上百家快递/物流查询,准确高效,所有数据均来自快递服务商。此数据返回类型进行了封装,方便开发人员和应用者进行调用,后期会提供返回json类型,敬请关注。支持的快递/物流天气预报WEB服务 ht

    2022年7月16日
    26

发表回复

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

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