今天来进行用户注册功能
yii集成了很多验证框架,framework/validators下面,这个文件夹的最后一个文件
CValidator.php 是总的验证信息,根据请求参数决定需要那种验证 如:url验证 “'url'=>'CUrlValidator',”
email验证 'url'=>'CUrlValidator',

1。定义数据表模型,models/xxx.php
2,配置好控制器和试图的信息后,打开用户注册页面,把里面的form表单,用户输入框 和 label 用yii小部件代替
3。在模型里面设置标签名字与数据库字段对应 如user.model
    public function attributeLabels(){
             array(
                     "name"=>"用户名",
                     "password"=>"密码",
                     "email"=>"邮箱",
                     "QQ"=>"QQ",
                     "tel"=>"电话",
                     "sex"=>"性别",
                     "xueli"=>"学历",
                     "hoddy"=>"爱好",
                     "introduce"=>"简历",
                     
             );
         }
         
         
    
        
注册表单整体代码如下

<BODY>

<!--放入view具体内容-->

<div class="block box">

<div class="usBox">
            <div class="usBox_2 clearfix">
                <div class="logtitle3"></div>
                <?php $form=$this->beginWidget('CActiveForm');?>
                    <table cellpadding="5" cellspacing="3"
                    style="text-align: left; width: 100%; border: 0;">
                    <tbody>
                        <tr>
                            <td style="width: 13%; text-align: right;">
                                    <?php echo  $form->label($user_model,'name')?>
                                    
                                </td>

<td style="width: 87%;">
                                <?php echo $form->textField($user_model,'name', array('class'=>'inputBg()','id'=>'username'));?>
                                <span style="color: red;"></span>
                            </td>
                        </tr>
                        <tr>
                            <td align="right">
                            <?php echo  $form->label($user_model,'password')?>

</td>

<td>
                                <?php echo $form->passwordField($user_model,'password', array('class'=>'inputBg()','id'=>'passowrd'));?>
                                </td>
                        </tr>
                          <tr>
                                        <td align="right"><label for="User_password2">密码确认</label></td>
                                        <td>
                                            <input class="inputBg" size="25" name="User[password2]" id="User_password2" type="password" />
                                        </td>

</tr>
                        <tr>
                            <td align="right"><?php echo  $form->label($user_model,'email')?></td>
                            <td>
                                <?php echo $form->textField($user_model,'email', array('class'=>'inputBg()','id'=>'email'));?>
                                </td>
                        </tr>
                        <tr>

<td align="right"><?php echo  $form->label($user_model,'QQ')?></td>
                            <td>
                                <?php echo $form->textField($user_model,'QQ', array('class'=>'inputBg()','id'=>'qq'));?>
                                </td>
                        </tr>
                        <tr>
                            <td align="right"><?php echo  $form->label($user_model,'tel')?></td>
                            <td>
                                <?php echo $form->textField($user_model,'tel', array('class'=>'inputBg()','id'=>'tel'));?>
                                </td>
                        </tr>
                        <tr>
                            <!--radioButtonList($model,$attribute,$data,$htmlOptions=array())-->
                            <td align="right"><?php echo  $form->label($user_model,'sex')?></td>
                            <td>
                                <?php echo $form->radioButtonList($user_model,'sex',$sex,array('separator'=>'&nbsp;'))?>
                            </td>
                        </tr>
                        <tr>
                            <!--dropDownList($model,$attribute,$data,$htmlOptions=array())-->
                            <td align="right"><?php echo  $form->label($user_model,'xueli')?></td>
                            <td>
                                <?php echo $form->dropDownList($user_model,'xueli',$xueli); ?>    
                            </td>
                        </tr>
                        <tr>
                            <!--checkBoxList($model,$attribute,$data,$htmlOptions=array())-->
                            <td align="right">
                            <?php echo  $form->label($user_model,'hobby')?></td>

<td>
                                <?php echo $form->checkBoxList($user_model,'hobby',$hoddy,array('separator'=>'&nbsp;')); ?>
                            </td>
                        </tr>
                        <tr>

<!--textArea($model,$attribute,$htmlOptions=array())-->
                            <td align="right">
                            <?php echo  $form->label($user_model,'introduce')?></td>
                            <td>
                            
                            <?php echo $form->textArea($user_model,'introduce',array('cols'=>50,'rows'=>5)); ?>
                            </td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>

<td align="left"><input name="Submit" value="提交"
                                class="us_Submit_reg" type="submit" /></td>
                        </tr>
                        <tr>
                            <td colspan="2">&nbsp;</td>
                        </tr>
                    </tbody>
                </table>

<?php $this->endWidget(); ?>
            </div>
        </div>
    </div>
    <!--放入view具体内容-->

</div>

</BODY>

如果需要设置邮箱不能为空,那么可以把CEmailValidator.php修改 public $allowEmpty=true;

YII 小部件实现的注册表的更多相关文章

  1. yii YII小部件 创建登录表单表单 Login表单

    YII框架必须遵循其表单的创建方法 登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互 ,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码 protected --models - ...

  2. YII 小部件 yii小部件查看方法 小物件做的表单

    要使用小部件,可以先到总文件去找   framework/yiilite文件里面搜索“CAtiveForm” (如果觉得小部件的radio布局有点难看,可以在外面定义,具体可以在控制器里面定义) 如下 ...

  3. Yii小部件

    小部件 Yii提供了一套数据小部件widgets,这些小部件可以用于显示数据. DetailView小部件用于显示一条记录数据. ListView和GridView小部件能够用于显示一个拥有分页.排序 ...

  4. YII 小部件实现Area textArea

    <?php echo $form->textArea($user_model,'introduce',array('cols'=>50,'rows'=>5)); ?>

  5. YII 小部件 解决多选按钮和单选按钮不在同一水平上 'separator'=>'&nbsp;'

    主要是添加separator属性(这里)$hoddy,$sex在控制器里面定义的数组,然后render传过来的 <td>          <?php echo $form-> ...

  6. YII2 小部件(widgets)

    小部件基本上在views中使用,在视图中可调用 yii\base\Widget::widget() 方法使用小部件. 该方法使用 配置 数组初始化小部件并返回小部件渲染后的结果. 例如如下代码插入一个 ...

  7. 弥补学生时代的遗憾~C#注册表情缘

    记得当时刚接触C#的时候,喜欢编写各种小软件,而注册表系列和网络系列被当时的我认为大牛的必备技能.直到我研究注册表前一天我都感觉他是那么的高深. 今天正好有空,于是就研究了下注册表系列的操作,也随手封 ...

  8. C#注册表

    C#注册表情缘   记得当时刚接触C#的时候,喜欢编写各种小软件,而注册表系列和网络系列被当时的我认为大牛的必备技能.直到我研究注册表前一天我都感觉他是那么的高深. 今天正好有空,于是就研究了下注册表 ...

  9. yii2之DetailView小部件

    DetailView小部件用于展示单条数据记录,可配置属性很少,使用也很简单,直接贴代码,一看就懂! yii小部件数据小部件DetailView的使用示例: <?= DetailView::wi ...

随机推荐

  1. 贵价的高级衣物清理法小Tipp之观察别人当然要从脚看起咯!

    贵价的高级衣物清理法小Tipp之观察别人当然要从脚看起咯! 贵价的高级衣物清理法小Tipp之观察别人当然要从脚看起咯!

  2. 402. Remove K Digits

    (English version is after the code part) 这个题做起来比看起来容易,然后我也没仔细想,先速度刷完,以后再看有没有改进. 用这个来说: 1 2 4 3 2 2 1 ...

  3. Java学习笔记六(I/O流)

    1.介绍 在实际开发过程中经常会用到数据的输入/输出操作,本篇博客着重分析一下,java中经经常使用到的有关IO操作的类.而在java中能够将经常使用的流分为两个部分:字节流和字符流. 1.流的抽象基 ...

  4. 3 - SQL Server 2008 之 使用SQL语句删除约束条件

    基本语法为: ALTER TABLE 表名 DROP CONSTRAINT 约束名1,约束名2…… 如果删除一个约束,不需要逗号后的约束名,如果删除两个及两个以上的约束,必须以逗号隔开. 使用上一节中 ...

  5. CentOS使用sendmail发送邮件

    1.安装sendmail yum -y install sendmail 2.启动sendmail服务 service sendmail start 3.将发件内容写入mail.txt mail -s ...

  6. SQL Server 事务、异常

    转自: http://www.cnblogs.com/moss_tan_jun/archive/2011/11/26/2263988.html   事务 在数据库中有时候需要把多个步骤的指令当作一个整 ...

  7. Oracle 卸载 不干净

    关闭oracle相关的服务 注册表删除(可能因为oracle及windows的版本不同注册表信息也有些差异): 开始è输入regedit 打开注册表编辑器删除下面的目录 HKEY_LOCAL_MACH ...

  8. 用Javascript进行HTML转义(分享)

      众所周知页面上的字符内容通常都需要进行HTML转义才能正确显示,尤其对于Input,Textarea提交的内容,更是要进行转义以防止javascript注入攻击.   通常的HTML转义主要是针对 ...

  9. ssh框架简单搭建

    这里是个人对SSH框架搭建的一点心得,仅供新手,勿喷 首先,搞清楚分层, 视图层 --> 控制层  --> 业务层 --> DAO层--> 持久层 搭建的顺序是从后向前,搭建一 ...

  10. 基于slf4j的log4j实战

    参考文档如下: http://blog.csdn.net/anialy/article/details/8529188 slf4j是接口,基于门面模式,可以实现log4j和logback 参考文档如下 ...