首页 > 代码库 > ThinkPhP中model自动验证 $_validate $_auto
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 ?>
ThinkPhP中model自动验证 $_validate $_auto
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。