[moka同学笔记]yii2.0表单的使用
1.创建model /biaodan.php
<?php
/**
* Created by PhpStorm.
* User: moka同学
* Date: 2016/08/05
* Time: 10:26
*/
namespace app\models; use Yii;
use yii\base\Model;
class Biaodan extends Model{
public $name;
public $pass;
public $email;
public $sex;
public $edu;
public $hobby;
public $info; //设置验证规则
public function rules()
{
return [
[['name','pass','email','sex','edu','hobby','info'],'required'],
['email','email','message'=>'这里是邮箱'],
['name','string','length'=>[2,10]]
];
} //定义表单标签
public function attributeLabels()
{
return [
'name'=>'名称',
'email'=>'邮箱',
'pass'=>'密码',
'edu'=>'教育',
'sex'=>'性别',
'hobby'=>'爱好',
'info'=>'简介'
];
}
}
?>
注:
自定义标签,用于显示表单标签
rules规则的创建,用于验证表单数据
2.控制器 BiaodanController.php
<?php
/**
* Created by PhpStorm.
* User: moka同学
* Date: 2016/08/05
* Time: 10:23
*/
namespace app\controllers; use app\models\Biaodan;
use yii\web\Controller; class BiaodanController extends Controller{
public $layout = "home";
public function actionIndex(){
// print_r($_POST);die();
$model = new Biaodan();
//如果有表单值就需要通过验证
if($model->load(\Yii::$app->request->post()) && $model->validate()){
return $this->render('index-two',['model'=>$model]);
}else{
return $this->render('index',['model'=>$model]);
}
}
}
?>
注:
\Yii::$app->request->post() 获取表单提交过来的数据 3.视图 index.php
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
<?=$form->field($model,'name')->textInput(['style'=>'width:200px;'])?>
<?=$form->field($model,'pass')->passwordInput(['style'=>'width:200px;'])?>
<?=$form->field($model,'email')->textInput(['style'=>'width:200px;'])?>
<?=$form->field($model,'sex')->radioList(['1'=>'男','2'=>'女'])?>
<?=$form->field($model,'edu')->dropDownList(['1'=>'大学','2'=>'中学','3'=>'小学'],['style'=>'width:200px;'])?>
<?=$form->field($model,'hobby')->checkboxList(['篮球'=>'篮球','排球'=>'排球','乒乓球'=>'乒乓球'])?>
<?=$form->field($model,'info')->textarea(['rows'=>3,'style'=>'width:400px;'])?>
<div class="form-group">
<?=Html::submitButton('提交',['class'=>'btn btn-primary'])?>
</div>
<?php $form = ActiveForm::end(); ?>
注:
视图也可以使用gii去生成,但是还是需要更改很多地方
index-two.php (可以忽略)
<?php
use yii\helpers\Html;
?>
<ul>
<li><label><?=$model->name;?></label></li> <!--//原生写法-->
<li><label><?=Html::encode($model->pass)?></label></li> <!--//小部件写法-->
</ul>
注:
表单未完,还有很多bootstrap样式用于表单中
以上~~
注:~ 转载请注明出处。QQ1727728211
[moka同学笔记]yii2.0表单的使用的更多相关文章
- [moka同学笔记]yii2 activeForm 表单样式的修改(二)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABAEAAANXCAIAAADLkdErAAAgAElEQVR4nOzdfWwc953nef6zwO5Zg8
- [moka同学笔记]yii2 activeForm 表单样式的修改
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAv4AAANcCAIAAACopDy/AAAgAElEQVR4nOzdfXAb52H4ef1veSatRV
- [moka同学笔记]yii2.0查询数据库
一. [:id占位符]使用 $results = Test::findBySql($sql,array(':id'=>'1 or 1=1))->all() 二. [id=1] 选 ...
- [moka同学笔记]Yii2.0 modal的使用
第一次使用,时候不明白什么原理,大概用了几次后,才模模糊糊搞清楚原来是怎么一回事,现在就把写过的代码,贴在下边. 1.在视图文件中, 第一步首先在index.php文件中 做了一个a链接的按钮 调用了 ...
- [moka同学笔记]yii2.0缓存
1.控制器中CacheDemoController.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/06/29 ...
- [moka同学笔记]yii2.0数据库操作以及分页
1.model中models/article.php 1 <?php 2 3 namespace app\models; 4 5 use Yii; 6 7 /** 8 * This is the ...
- [moka同学笔记]Yii2.0验证码
1.Model中Code.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/07/25 * Time: 10:48 ...
- [moka同学笔记]yii2.0小物件的简单使用(第二种方法)
1.在widgets/TestWidget.php中 <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * T ...
- [moka同学笔记]yii2.0小物件的简单使用(第一种方法)
这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...
随机推荐
- Java与邮件系统交互之使用Socket验证邮箱是否存在
最近遇到一个需求:需要验证用户填写的邮箱地址是否真实存在,是否可达.和普通的正则表达式不同,他要求尝试链接目标邮箱服务器并请求校验目标邮箱是否存在. 先来了解 DNS之MX记录 对于DNS不了解的,请 ...
- 高性能优化Web前端
高性能HTML 一.避免使用iframe iframe也叫内联frame,可将一个HTML文档嵌入另一个HTML文档中. iframe的好处是,嵌入的文档独立于父文档,通常也借此使浏览器模拟多线程.缺 ...
- 多线程锁--怎么理解Condition
在java.util.concurrent包中,有两个很特殊的工具类,Condition和ReentrantLock,使用过的人都知道,ReentrantLock(重入锁)是jdk的concurren ...
- php常见小知识总结
1.如果在函数中 unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调unset() 之前一样的值.如果是想把全局变量清空,用$var = array(),注意在他之前别用u ...
- 浅析MongoDB数据库的海量数据存储应用
[摘要]当今已进入大数据时代,特别是大规模互联网web2.0应用不断发展及云计算所需要的海量存储和海量计算发展,传统的关系型数据库已无法满足这方面的需求.随着NoSQL数据库的不断发展和成熟,可以较好 ...
- js常见怪异
1.隐式转换为布尔:"truthy"和"falsy" 当 JavaScript 需要一个布尔值时(例如:if 语句),任何值都可以被使用. 最终这些值将被转换为 ...
- java数据库连接池性能对比
这个测试的目的是验证当前常用数据库连接池的性能. testcase Connection conn = dataSource.getConnection(); PreparedStatement st ...
- iOS时间那点事儿–NSTimeZone
NSTimeZone **时区是一个地理名字,是为了克服各个地区或国家之间在使用时间上的混乱. 基本概念: GMT 0:00 格林威治标准时间; UTC +00:00 校准的全球时间; CCD +08 ...
- Eclipse卸载插件
Eclipse卸载插件 ### 本人Eclipse版本为:Eclipse Mars 1. 选择: Help -> Install New Software , 如下图:2. 点击 what is ...
- AppStore下载慢的真实原因
今天有个朋友说他的app下载很慢,他说下载其他的不会,就他的会很慢很卡.我心想这东西苹果的我也没办法了呀,不过我心里也想我平时下载挺快的呀.于是就开始试试.搜索了几个app下载发现确实是有快有慢,并且 ...