zoukankan      html  css  js  c++  java
  • [moka同学笔记]yii2.0表单的使用

    1.创建model   /biaodan.php

     1 <?php
     2 /**
     3  * Created by PhpStorm.
     4  * User: moka同学
     5  * Date: 2016/08/05
     6  * Time: 10:26
     7  */
     8 namespace appmodels;
     9 
    10 use Yii;
    11 use yiiaseModel;
    12 class Biaodan extends Model{
    13     public $name;
    14     public $pass;
    15     public $email;
    16     public $sex;
    17     public $edu;
    18     public $hobby;
    19     public $info;
    20 
    21     //设置验证规则
    22     public function rules()
    23     {
    24         return [
    25             [['name','pass','email','sex','edu','hobby','info'],'required'],
    26             ['email','email','message'=>'这里是邮箱'],
    27             ['name','string','length'=>[2,10]]
    28         ];
    29     }
    30 
    31     //定义表单标签
    32     public function attributeLabels()
    33     {
    34         return [
    35             'name'=>'名称',
    36             'email'=>'邮箱',
    37             'pass'=>'密码',
    38             'edu'=>'教育',
    39             'sex'=>'性别',
    40             'hobby'=>'爱好',
    41             'info'=>'简介'
    42         ];
    43     }
    44 }
    45 ?>

    注:

    自定义标签,用于显示表单标签

    rules规则的创建,用于验证表单数据

    2.控制器 BiaodanController.php

     1 <?php
     2 /**
     3  * Created by PhpStorm.
     4  * User: moka同学
     5  * Date: 2016/08/05
     6  * Time: 10:23
     7  */
     8 namespace appcontrollers;
     9 
    10 use appmodelsBiaodan;
    11 use yiiwebController;
    12 
    13 class BiaodanController extends Controller{
    14     public $layout = "home";
    15     public function actionIndex(){
    16 //        print_r($_POST);die();
    17         $model = new Biaodan();
    18         //如果有表单值就需要通过验证
    19         if($model->load(Yii::$app->request->post()) && $model->validate()){
    20             return $this->render('index-two',['model'=>$model]);
    21         }else{
    22             return $this->render('index',['model'=>$model]);
    23         }
    24     }
    25 }
    26 ?>

    注:

    Yii::$app->request->post() 获取表单提交过来的数据

    3.视图 index.php
     1 <?php
     2 use yiihelpersHtml;
     3 use yiiwidgetsActiveForm;
     4 ?>
     5 <?php $form = ActiveForm::begin(); ?>
     6 <?=$form->field($model,'name')->textInput(['style'=>'200px;'])?>
     7 <?=$form->field($model,'pass')->passwordInput(['style'=>'200px;'])?>
     8 <?=$form->field($model,'email')->textInput(['style'=>'200px;'])?>
     9 <?=$form->field($model,'sex')->radioList(['1'=>'男','2'=>'女'])?>
    10 <?=$form->field($model,'edu')->dropDownList(['1'=>'大学','2'=>'中学','3'=>'小学'],['style'=>'200px;'])?>
    11 <?=$form->field($model,'hobby')->checkboxList(['篮球'=>'篮球','排球'=>'排球','乒乓球'=>'乒乓球'])?>
    12 <?=$form->field($model,'info')->textarea(['rows'=>3,'style'=>'400px;'])?>
    13 <div class="form-group">
    14     <?=Html::submitButton('提交',['class'=>'btn btn-primary'])?>
    15 </div>
    16 <?php $form = ActiveForm::end(); ?>

    注:

    视图也可以使用gii去生成,但是还是需要更改很多地方

    index-two.php (可以忽略)

    1 <?php
    2 use yiihelpersHtml;
    3 ?>
    4 <ul>
    5     <li><label><?=$model->name;?></label></li>   <!--//原生写法-->
    6     <li><label><?=Html::encode($model->pass)?></label></li> <!--//小部件写法-->
    7 </ul>

    注:

    表单未完,还有很多bootstrap样式用于表单中

    以上~~

    注:~    转载请注明出处。QQ1727728211

    我生活的地方,我为何要生活。
  • 相关阅读:
    nginx的配置
    html转pdf
    Mac 安装mysql
    网络编程
    五分钟搞定迭代器生成器
    mac 上多版本python 共存
    一张图片教会你写mysql 语句
    清晰明了的深浅拷贝
    已经入了vim的坑
    解决pip安装太慢的问题
  • 原文地址:https://www.cnblogs.com/hsd1727728211/p/5748173.html
Copyright © 2011-2022 走看看