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

在modle层里面的rules里面对应的规则列表
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, //提交的时候进行验证
        ),
    )); ?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值