YII 小部件实现的注册表
今天来进行用户注册功能
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'=>' '))?>
</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'=>' ')); ?>
</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> </td>
<td align="left"><input name="Submit" value="提交"
class="us_Submit_reg" type="submit" /></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</tbody>
</table>
<?php $this->endWidget(); ?>
</div>
</div>
</div>
<!--放入view具体内容-->
</div>
</BODY>
如果需要设置邮箱不能为空,那么可以把CEmailValidator.php修改 public $allowEmpty=true;
YII 小部件实现的注册表的更多相关文章
- yii YII小部件 创建登录表单表单 Login表单
YII框架必须遵循其表单的创建方法 登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互 ,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码 protected --models - ...
- YII 小部件 yii小部件查看方法 小物件做的表单
要使用小部件,可以先到总文件去找 framework/yiilite文件里面搜索“CAtiveForm” (如果觉得小部件的radio布局有点难看,可以在外面定义,具体可以在控制器里面定义) 如下 ...
- Yii小部件
小部件 Yii提供了一套数据小部件widgets,这些小部件可以用于显示数据. DetailView小部件用于显示一条记录数据. ListView和GridView小部件能够用于显示一个拥有分页.排序 ...
- YII 小部件实现Area textArea
<?php echo $form->textArea($user_model,'introduce',array('cols'=>50,'rows'=>5)); ?>
- YII 小部件 解决多选按钮和单选按钮不在同一水平上 'separator'=>' '
主要是添加separator属性(这里)$hoddy,$sex在控制器里面定义的数组,然后render传过来的 <td> <?php echo $form-> ...
- YII2 小部件(widgets)
小部件基本上在views中使用,在视图中可调用 yii\base\Widget::widget() 方法使用小部件. 该方法使用 配置 数组初始化小部件并返回小部件渲染后的结果. 例如如下代码插入一个 ...
- 弥补学生时代的遗憾~C#注册表情缘
记得当时刚接触C#的时候,喜欢编写各种小软件,而注册表系列和网络系列被当时的我认为大牛的必备技能.直到我研究注册表前一天我都感觉他是那么的高深. 今天正好有空,于是就研究了下注册表系列的操作,也随手封 ...
- C#注册表
C#注册表情缘 记得当时刚接触C#的时候,喜欢编写各种小软件,而注册表系列和网络系列被当时的我认为大牛的必备技能.直到我研究注册表前一天我都感觉他是那么的高深. 今天正好有空,于是就研究了下注册表 ...
- yii2之DetailView小部件
DetailView小部件用于展示单条数据记录,可配置属性很少,使用也很简单,直接贴代码,一看就懂! yii小部件数据小部件DetailView的使用示例: <?= DetailView::wi ...
随机推荐
- Android NDK开发指南---Application.mk文件和android.mk文件
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...
- MySQL索引原理与慢查询优化
索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能需要把所有单词看一遍才 ...
- Bridges painting - SGU 121(构造)
题目大意:有个一无向图,给所有的边染色,如果一个点连接的边超过两个,那么最少要染一个白色和一个黑色,能否给整个图染色?不能输出“No solution”. 分析:引用连接 http://edward- ...
- android 随手记 倒计时
class CountDownUtils extends CountDownTimer { public CountDownUtils(long millisInFuture, long countD ...
- shared pool详解
共享池shared pool的概念用户提交的命令:解析.执行用户命令的解析解析的过程是一个相当复杂的过程,它要考虑各种可能的异常情况比如SQL语句涉及到的对象不存在.提交的用户没有权限等等而且还需要考 ...
- grunt个人理解
最近在学习grunt的内容,也希望能将grunt使用在新的项目中,本文是对grunt的相关概念的个人理解,仅供与道友们交流和学习,如有疑义,欢迎道友们指点. 首先,grunt是基于nodejs的,那就 ...
- google API的.NET库
Goolge发布了一个新的google API .NET库,是一个Portable Class Library,所以无论是.NET,WinTRy,Windows Phone或者Silverlight都 ...
- UVA - 10785 The Mad Numerologist
题目链接 这个题又犯了省题不清的错误.导致不停 wa.唉. 题目意思是给你一个长度L,然后和一张表相应每一个大写字母的value值.你须要依照一定规则找出长度为L的序列. 注意 序列的value值要 ...
- SunDay天气——开放源代码
前段时间也些小忙,一直没有时间去弄Github,所以源代码一直没有放出来. 本周末特抽了些时间出来,熟悉了下Github,并把源代码给弄了去.欢迎大牛重吐槽.指导...... 费话不多说,上图. 近期 ...
- 字符串匹配之KMP---全力解析
近日,一同学面试被问到字符串匹配算法,结果因为他使用了暴力法,直接就跪了(如今想想这种面试官真的是不合格的,陈皓的一篇文章说的非常好,点击阅读).字符串匹配方法大概有:BF(暴力破解法), 简化版的B ...