关于后盾网yii框架的学习小结(8)--自定义前台的验证

在modle层里面的rules里面对应的规则列表

<?php
class User extends CActiveRecord{
    public $password1;
    public $password2;

    public static function model($className = __CLASS__){
        return parent::model($className);
    }

    public function tableName(){
        return "{{admin}}";
    }

    public function attributeLabels(){
        return array(
                ‘password‘  => ‘原始密码‘,
                ‘password1‘ => ‘新密码‘,
                ‘password2‘ => ‘确认密码‘

            );
    }

    public function rules(){
        return array(
            array(‘password‘, ‘required‘, ‘message‘=>‘原始密码必填‘),
            array(‘password‘, ‘check_passwd‘),
            array(‘password1‘, ‘required‘, ‘message‘=>‘新密码必填‘),
            array(‘password2‘, ‘required‘, ‘message‘=>‘确认密码必填‘),
            array(‘password2‘, ‘compare‘, ‘compareAttribute‘=>‘password1‘, ‘message‘=>‘两次密码不相同‘),
            );
    }

    public function check_passwd(){
        $userInfo = $this->find(‘username=:name‘, array(‘:name‘=>Yii::app()->user->name));
        if(md5($this->password) != $userInfo->password){
            $this->addError(‘password‘, ‘原始密码不正确‘);
        }
    }
}

②前台自动验证的方法。因为一般验证,是先通过post方法传到后台,然后后台控制器的方法去验证,这样比较慢。所以可以在view层直接加上这么段小物件的代码,就能实现前台验证了。必须使用render来渲染这个页面,不然js无法加载出来了。

<?php $form=$this->beginWidget(‘CActiveForm‘, array(
        ‘enableClientValidation‘=>true,//开启前台客户端验证
        ‘clientOptions‘=>array(//客户端验证
            ‘validateOnSubmit‘=>true, //提交的时候进行验证
        ),
    )); ?>
时间: 2024-10-09 18:24:31

关于后盾网yii框架的学习小结(8)--自定义前台的验证的相关文章

关于后盾网yii框架的学习小结(9)--修改密码的方法,闪存

①修改密码的方法 /** * 修改密码 */ public function actionPasswd(){ $userModel = User::model(); if(isset($_POST['User'])){ $userInfo = $userModel->find('username=:name', array(':name'=>Yii::app()->user->name)); $userModel->attributes = $_POST['User']; i

关于后盾网yii框架的学习小结(10)--使用AR类的增删改查

创建新的数据库的语句 <?php class CategoryController extends Controller{ public function filters(){ return array( 'accessControl', ); } public function accessRules(){ return array( //更加具体化 // array( // 'allow', // 'actions'=>array('del','add'), // 'users' =>

关于后盾网yii框架的学习小结(7)--session的使用和redirect等的方法的使用

1.实现后台的登出功能. 登出方法主要两步,一个步骤是调用yii自带的logout方法,然后调用redurect方法跳转到首页 public function actionOut(){ Yii::app()->user->logout(); $this->redirect(array('index')); } 2.在后台模块初始化的时候,增加了这个方法 Yii::app()->setComponents(array( 'user' => array('stateKeyPref

YII框架分析笔记3:表单模型和验证

表单模型CFormModel绝大部分继承CModelCModel,由于表模型数据不需要持久化,所以主要在验证操作上.下面以框架脚手架生成的网站登录为例说明表单模型. [php] view plaincopy //模型中的验证规则 public function rules() { return array( array('username, password', 'required'), array('rememberMe', 'boolean'), array('password', 'aut

后盾网-CI框架学习笔记

CI框架: 表单验证: 载入验证类 $this->load->library('form_validation'); 设置规则 $this->form_validation->set_rules('name值','规则'); 执行验证 $this->form_validation->run() 表单验证辅助函数: $this->load->helper('form'); 1. set_value('name') //重填数据 2. form_error('n

yii框架设计学习笔记(一)

阅读提示: 本文章适合和我一样的菜鸟们,事先声明受于见识原因,其中偏驳和遗漏及错误,大家可以置之一笑,但是也欢迎大家指正错误,各位大神大侠 yii是什么?yii是一款由国人开发的高性能php框架.yii的构成.yii其主要思想由桌面开发的事件驱动及组件化开发为基础的框架.yii的作用.yii拥有完备的拓展库,以及其自生的特性,使得其非常插拔式的开发方式非常容易被人用来拓展程序,同时其引入了mvc的思想作为其上层开发,便于其他人的开发.yii高性能的原因因为其组件化的结构,只有当类真正使用的时候才

Yii框架的学习

1.流程 1.1 Yii::createWebApplication()->run(); 1.2 内部类的加载 1.3 config的加载 1.4 代理的分发(一般根据url参数对应到相应的实现CController的类XXXController的action) 1.5执行相应的action 2.yii的优点 2.1 yii的controller不错,其实别的框架也有 2.2 就是component的实现 这应该是yii的最好的地方(他可以把一些公用的东西都写component,比如数据库,ur

Yii框架学习笔记(二)将html前端模板整合到框架中

选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/topics/390807796 更多内容 百度:yii 前端 http://my.oschina.net/u/1472492/blog/221085 摘要 Yii框架学习笔记(二)将html前端模板整合到框架中 原文地址:http://www.ldsun.com/1309.html 上一节成功将Y

yii学习小结

对yii框架搭建的平台运维过程中,会不断地发现很多新的特性和问题,现一一记录下来,便于后续学习~ 1.日志  在/runtime目录中    参考:http://www.cnblogs.com/youxin/p/3637008.html     2.数据库中require字段不能为空