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
Yii Framework2.0开发教程(2)使用表单Form的更多相关文章
- Yii Framework2.0开发教程(5)数据库mysql性能
继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...
- Yii Framework2.0开发教程(3)数据库mysql入门
沿用教程(2)的代码 第一步.在本地mysql数据库中新建数据库zhyoulun 第二步.在数据库中新建表并插入若干条数据 CREATE TABLE `country` ( `code` CHAR(2 ...
- Yii Framework2.0开发教程(1)配置环境及第一个应用HelloWorld
准备工作: 我用的开发环境是windows下的apache+mysql+php 编辑器不知道该用哪个好.临时用dreamweaver吧 我自己的http://localhost/相应的根文件夹是E:/ ...
- Yii Framework2.0开发教程(4)在yii中定义全局变量
在yii中定义全局变量最好的地方是入口脚本处.也就是web目录中的index.php文件 比如我们在defined('YII_ENV') or define('YII_ENV', 'dev');后写上 ...
- Yii Framework2.0开发教程(10)配合mysql数据库实现用户登录
1.首先在mysql创建一个存用户的表格 create table test_user ( user_id bigint(20) unsigned not null auto_increment co ...
- flask使用原生ajax、不使用表单(Form)上传文件
〇.知识点 jquery ajax 文档告诉你可以使用默认的 application/x-www-form-urlencoded, multipart/form-data, or text/plain ...
- ASP.NET Aries 高级开发教程:表单检测字段是否已存(番外篇)
前言: 昨天刚好有人问了这个问题,因此就针对这个问题,补上一篇吧. 正文: 如图:在用户编辑列表中,用户名是会自动检测是否已存在的. 具体对应的Html内容如下: <label><e ...
- yii2.0 控制器方法 视图表单 Form表单处理
假设我们在ArticleController.php下面的actionForm方法中来处理提交的表单 新建立一个 views/Article/article-form.php文件用来作为输入表单 &l ...
- Yii 2.0版本调试输出SQL语句
项目是基于框架Yii 2.0开发的. 今天梳理一些数据统计功能代码的时候,想把当前运行的sql语句打印出来,然后放到navicat工具里面运行,并分析一下运行效率和调优方案,之前大部分时候都是写增加. ...
随机推荐
- MYSQL—加写锁,加读锁,解锁
链接地址:http://blog.sina.com.cn/s/blog_7fa2bcf50101j1lu.html 表级锁: 加写锁: lock tables table_n ...
- Problem A: Artificial Intelligence?
Description Physics teachers in high school often think that problems given as text are more demandi ...
- JavaScript基础知识----零基础js入门练习题
1,什么是Javascript? 答:Javascipt是一种脚本语言,由web浏览器进行解释和执行. 2,JavaScript是由那几个部分组成? 答:主要分为以下三种: ECMASc ...
- 全新安装mysql最新版本
写在前面: 下面写的东西只是最近安装的一个说明,是在系统中没存在mysql的情况下安装的,后期会根据官方文档写一个详细有价值的文档 安装原理:利用mysql官方的mysql_apt-repositor ...
- QT 判断当前焦点是否在某控件上(使用hasFocus函数,毕竟QT是DIRECTUI,所以这个Focus到底代表了什么呢?)
ui->pushButtonhasFocus()->hasFocus(); ui->treeWidget->hasFocus(); http://blog.csdn.net ...
- 远程管理服务SSHD
安装SSH yum install openssh
- Android开发中怎样调用系统Email发送邮件(多种调用方式)
在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外,所谓的调用Email,只是说Email可以接收Intent并做这些事情 我们都知道,在Android中 ...
- Session()
如何使用 Session Java Api 只给我们一种方式来 获取 当前会话相关的 session: HttpSession session = request.getSession(); //或 ...
- ALV列、行、单元格颜色设置
)颜色含义 :海蓝:2:浅清:3:黄色:4:浅蓝:5:青色:6:红色:7:橙色. (1)首位为主颜色: (2)次位为辅助颜色: (3)末位为0时,表示首位数字表为表格的底色: 末位为1时,则表示以1为 ...
- JavaEE Tutorials (11) - 使用Criteria API创建查询
11.1Criteria和Metamodel API概述16811.2使用Metamodel API为实体类建模170 11.2.1使用元模型类17011.3使用Criteria API和Metamo ...