千家信息网

yii如何实现用户注册表单验证

发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,这篇文章将为大家详细讲解有关yii如何实现用户注册表单验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:视图层:register.php
千家信息网最后更新 2024年12月02日yii如何实现用户注册表单验证

这篇文章将为大家详细讲解有关yii如何实现用户注册表单验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

视图层:register.php

beginWidget('CActiveForm');?>labelEx($model,'username');?>textField($model,'username');?>error($model,'username');?>
labelEx($model,'password');?>passwordField($model,'password');?>error($model,'password');?>
labelEx($model,'password2');?>passwordField($model,'password2');?>error($model,'password2');?>
labelEx($model,'email');?>textField($model,'email');?>error($model,'email');?>
labelEx($model,'sex');?>radioButtonList($model,'sex',array(1=>'男',2=>'女'),array("separator"=>" "));?>
labelEx($model,'grade');?>dropDownList($model,'grade',array(0=>"--请选择--",1=>"2010级",2=>"2011级",3=>"2012级"));?>error($model,'grade');?>
labelEx($model,'hobby');?>checkBoxList($model,'hobby',array(1=>"篮球",2=>"足球",3=>"排球"),array("separator"=>" "));?>error($model,'hobby');?>endWidget();?>

model层的代码如下:User.php

"姓名",      "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个以上");    }  }}?>

control层的代码如下:

//信息添加 添加显示页面和添加处理使用同一个方法  public function actionAdd(){    $user=new User();    if(isset($_POST['User'])){//      foreach ($_POST['User'] as $k =>$v){//        $user->$k=$v;//      }      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如何实现用户注册表单验证"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0