日期:2014-05-17  浏览次数:20570 次

TP自动验证,对非 Create不起作用吗?
    public function register(){
          if($this->isPost()) {
                $Mem=D('Member');
                if( $Mem->Create()) {
                    if($Mem->add())
                       echo $Mem->getLastSql();
                        $this->assign('waitSecond',3);
                        $this->success("注册成功","__APP__/Member/login"); }

上面的代码可以验证。


    public function xinxixiugai(){
        if($this->isPost())
        {
            $Model=D('Member');
            $password=$_POST['password'];
            $tel=$_POST['tel'];
            $address=$_POST['address'];

            if($Model->Update($password,$tel,$address))
            {    $this->success("更新成功",__APP__/Space/index);}
            else
                echo $Model->getError();
        }

这个验证不了。。。
另外我看手册如果修改也用create,需要在表单加一个ID的隐藏域?
具体做法是不是在页面加段PHP代码,session('id'), 然后加到隐藏域?
------解决方案--------------------
自动验证似乎只是应用于create的
------解决方案--------------------
文档中有所说明,不是create的要手动调用验证的:

手动验证

新版增加了一个check方法,用于个别需要的情况手动验证数据,支持部分自动验证的规则,用法如下:

 check('验证数据','验证规则','验证类型') 

验证类型支持 in between equal length regex expire ip_allow ip_deny,默认为regex 结果返回布尔值 $model->check($value,'email'); $model->check($value,'1,2,3','in');