奥门永利误乐域ThinkPhP中model自动验证 $_validate $_auto

 1 <?php   2     class UserModel extends RelationModel{   3    4    5         /**自动验证**/   6         protected $_validate  =  array(     7             /**array([验证字段],[验证规则],[错误提示],(验证条件(默认为存在字段就验证)),(附加规则),(验证时间))**/   8             array('username','','该用户名已经存在!',1,'unique'),   9                array('password','5,12','密码过短,请重新输入!',1,'length'),// 自定义函数验证密码格式    10                array('repassword','password','两次密码不一致,请确认输入!',1,'confirm'),  11         );   12   13         /*这边附加规则中的'callback' 与 'function' 必须分清楚,'callback是用户自定义的函数',  14             'function'是系统自带的函数  15         */  16         /**验证条件**/  17         /**  18          * Model::EXISTS_VALIDATE 或者0 存在字段就验证(默认)  19          * Model::MUST_VALIDATE 或者1 必须验证  20          * Model::VALUE_VALIDATE或者2 值不为空的时候验证  21          */  22         /**验证时间**/  23            /**  24             * Model::MODEL_INSERT或者1新增数据时候验证  25          * Model::MODEL_UPDATE或者2编辑数据时候验证  26          * Model::MODEL_BOTH或者3全部情况下验证(默认)  27          * 这里的验证时间需要注意,并非只有这三种情况,你可以根据业务需要增加其他的验证时间。  28             */  29   30         /**自动增加**/  31         protected $_auto = array (   32             /**array([增加字段],[增加函数],[增加条件],[附加规则])**/  33             array('addtime','time',3,'function'),       34         );  35   36         /**后台检查密码长度**/  37         protected function checkPwd($password){  38             if(strlen($password) < 5){  39                 return false;  40             }else{  41                 return true;   42             }  43         }  44   45     }  46   47 ?>

动态绑定模式:

 1 <?php   2     class UserAction extends Action{   3    4         public function user(){   5             $this->display();   6         }   7    8         public function index(){   9             $user = D('User');  10             $validate  =  array(    11                 /**array([验证字段],[验证规则],[错误提示],(验证条件(默认为存在字段就验证)),(附加规则),(验证时间))**/  12                 array('username','','该用户名已经存在!',1,'unique'),  13                    array('password','5,12','密码过短,请重新输入!',1,'length'),// 自定义函数验证密码格式    14                    array('repassword','password','两次密码不一致,请确认输入!',1,'confirm'),  15             );   16             $auto = array(  17                 array('addtime','time',3,'function'),      18             );  19             // model模型中的内置函数  20             // $user->setProperty('_validate',$validate);  21             // $user->setProperty('_auto',$auto);  22             $user->validate($validata)->auto($auto);  23             if($user->create()){  24                 if($user->add()){  25                     $this->success('注册成功');  26                 }else{  27                     $this->error('注册失败');  28                 }  29             }else{  30                 $this->error($user->getError());  31             }  32         }  33     }  34 ?>

 


发表评论

电子邮件地址不会被公开。 必填项已用*标注