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表单的使用的更多相关文章

  1. [moka同学笔记]yii2 activeForm 表单样式的修改(二)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABAEAAANXCAIAAADLkdErAAAgAElEQVR4nOzdfWwc953nef6zwO5Zg8

  2. [moka同学笔记]yii2 activeForm 表单样式的修改

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAv4AAANcCAIAAACopDy/AAAgAElEQVR4nOzdfXAb52H4ef1veSatRV

  3. [moka同学笔记]yii2.0查询数据库

      一. [:id占位符]使用 $results = Test::findBySql($sql,array(':id'=>'1 or 1=1))->all()   二. [id=1]  选 ...

  4. [moka同学笔记]Yii2.0 modal的使用

    第一次使用,时候不明白什么原理,大概用了几次后,才模模糊糊搞清楚原来是怎么一回事,现在就把写过的代码,贴在下边. 1.在视图文件中, 第一步首先在index.php文件中 做了一个a链接的按钮 调用了 ...

  5. [moka同学笔记]yii2.0缓存

    1.控制器中CacheDemoController.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/06/29 ...

  6. [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 ...

  7. [moka同学笔记]Yii2.0验证码

    1.Model中Code.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/07/25 * Time: 10:48 ...

  8. [moka同学笔记]yii2.0小物件的简单使用(第二种方法)

    1.在widgets/TestWidget.php中 <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * T ...

  9. [moka同学笔记]yii2.0小物件的简单使用(第一种方法)

    这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...

随机推荐

  1. iOS 内存管理机制和循环引用处理方法

    简述 ARC: 自动引用计数, Automatic Reference Counting MRC: Mannul Reference Counting ARC工作原理 1.当每次创建一个新实例时,AR ...

  2. AchartEngine绘图引擎

    https://code.google.com/p/achartengine/  Code Test代码: /workspace/AChartEngineTest   /workspace/appco ...

  3. PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。

    方法1: 设置 CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl,但是我设置了也是出错.换一个con ...

  4. Qt实现FlatUI样式(开源)

    对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平 ...

  5. EF执行存储过程时超时问题

    异常信息:Message = EF "Timeout 时间已到.在操作完成之前超时时间已过或服务器未响应." ((IObjectContextAdapter);

  6. Codeforces Round #197 (Div. 2) (A、B、C、D、E五题合集)

    A. Helpful Maths 题目大意 给一个连加计算式,只包含数字 1.2.3,要求重新排序,使得连加的数字从小到大 做法分析 把所有的数字记录下来,从小到大排序输出即可 参考代码 #inclu ...

  7. hdinfo

    --------[ 鲁大师 ]-------------------------------------------------------------------------------- 版本: ...

  8. PIN码计算锦集

    1. 腾达,C8:3A:35开头的MAC有效~network路由,MAC有效~以及00B00C开头的MAC有效之外的请您自己发现算法..这里只公布三个MAC地址算法,其余也可以算~这里就不公布出来了. ...

  9. 路由器换大Flash

    使用winhex自建编程器固件(我的是TP-WR941N V6) 1:使用winhex新建一个8M,16M的文件,编辑-全选,填充选块,填充十六进制数值 FF : 2:打开4M的原厂编程器固件(或者自 ...

  10. [转]WPF/MVVM快速开始手册

    I will quickly introduce some topics, then show an example that explains or demonstrates each point. ...