首页 > 编程 > PHP > 正文

yii用户注册表单验证实例

2020-03-22 17:08:58
字体:
来源:转载
供稿:网友
本文实例讲述了yii用户注册表单验证实现方法。分享给大家供大家参考,具体如下:视图层:register.php//使用小物件生成form元素$form=$this- beginWidget('CActiveForm'); !--用户名-- php echo $form- labelEx($model,'username'); php echo $form- textField($model,'username'); php echo $form- error($model,'username'); !--密码-- php echo $form- labelEx($model,'password'); php echo $form- passwordField($model,'password'); php echo $form- error($model,'password'); !--确认密码-- php echo $form- labelEx($model,'password2'); php echo $form- passwordField($model,'password2'); php echo $form- error($model,'password2'); !--邮箱-- php echo $form- labelEx($model,'email'); php echo $form- textField($model,'email'); php echo $form- error($model,'email'); !--性别-- php echo $form- labelEx($model,'sex'); php echo $form- radioButtonList($model,'sex',array(1= '男',2= '女'),array("separator"= "")); !--年级-- php echo $form- labelEx($model,'grade'); php echo $form- dropDownList($model,'grade',array(0= "--请选择--",1= "2010级",2= "2011级",3= "2012级")); php echo $form- error($model,'grade'); php echo $form- labelEx($model,'hobby'); php echo $form- checkBoxList($model,'hobby',array(1= "篮球",2= "足球",3= "排球"),array("separator"= "")); php echo $form- error($model,'hobby'); !--提交-- php echo CHtml::submitButton('提交'); $this- endWidget();
* To change this template, choose Tools | Templates * and open the template in the editor.html' target='_blank'>class User extends CActiveRecord{ //创建一个模型的对象 静态 public $password2;//非数据库的字段,但是在view中需要用到 public static function model($className = __CLASS__) { return parent::model($className); //返回当前数据表的名字 public function tableName() { //parent::tableName(); return '{{user}}';//这样写可以省略前缀 //设置标签的显示名字 public function attributeLabels() { return array( "username"= "姓名", "password"= "密码", "password2"= "确认密码", "email"= "邮箱", "sex"= "性别", "grade"= "年级", "hobby"= "爱好", //验证表单域 public function rules() { return array( array("username","required","message"= "用户名不能为空"), array("password","required","message"= "密码不能为空"), //验证密码和确认密码 array("password2","compare","compareAttribute"= "password","message"= "两次密码不一致"), //验证邮箱 array("email","email","allowEmpty"= false,"message"= "邮箱格式不正确"), //验证年级 array("grade","in","range"= array(1,2,3),"message"= "请选择年级"), //验证爱好,使用自定义规则 array("hobby","checkHobby"), //验证爱好 function checkHobby(){ $this- hobby; $len= strlen($this- hobby); if($len 3){ $this- addError("hobby","爱好至少为2个以上");
if(is_array($_POST['User']['hobby'])) $_POST['User']['hobby']= implode(",", $_POST['User']['hobby']); //print_r($_POST['User']); $user- attributes=$_POST['User']; if($user- save()){ echo 'success'; }else{ echo 'error'; $this- renderPartial("new",array("model"= $user));其中,表单的自动验证,在model层实现,表单元素的名称与数据库中的字段名字一致,可设置错误信息进行提示。希望本文所述对大家基于yii框架的PHP程序设计有所帮助。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表