动态完成 (试验无效)
动态完成
除了静态定义之外,我们也可以采用动态设置自动完成规则的方式来解决不同的处理规则。
$rules = array (
array('status','1'), // 新增的时候把status字段设置为1
array('password','md5',3,'function') , // 对password字段在新增和编辑的时候使md5函数处理
array('update_time','time',2,'function'), // 对update_time字段在更新的时候写入当前时间戳
);
$User = M('User');
$User->auto($rules)->create();
$User->add();
//D:\LearnWebDevelop\php\thinkphp_3.2.3_full\Application\OuterMok2\Controller\UserController.class.php public function register(){ if (IS_POST){ header("Content-type: text/html; charset=utf-8"); var_dump($_POST); $rules = array( array('name','require','用户名必须!'), // 用户名必须 array('name','','帐号名称已经存在!',1,'unique',1), // 验证用户名是否已经存在 array('email','email','Email格式错误!',2), // 如果输入则验证Email格式是否正确 array('password','6,30','密码长度不正确',0,'length'), // 验证密码是否在指定长度范围 array('repassword','password','确认密码不一致',0,'confirm'), // 验证确认密码是否和密码一致 ); $auto_rules = array ( array('status','1'), // 新增的时候把status字段设置为1 array('password','md5',3,'function') , // 对password字段在新增和编辑的时候使md5函数处理 array('update_time','time',3,'function'), // 对update_time字段在更新的时候写入当前时间戳 ); $User = M("UserRegister"); // 实例化User对象 if (!$User->validate($rules) || !$User->auto($auto_rules)->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 exit($User->getError()); }else{ // 验证通过 可以进行其他数据操作 $User->add(); echo '<hr>add user OK!'; } /* //$User = M("UserRegister"); // 实例化User对象 $User = D("UserRegister"); // 实例化User对象 if (!$User->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 exit($User->getError()); }else{ // 验证通过 可以进行其他数据操作 $User->add(); echo '<hr>add user OK!'; } */ }else{ $this->display(); } }

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号