我的MemberAction代码是<?php
class MemberAction extends Action{
    public function insert()
{
header('Content-Type:text/html; charset=utf-8');
        $Member   =   D('developers');
        if($Member->create()) {
            $result =   $Member->add();
            if($result) {
                $this->success('注册成功!');
            }else{
                $this->error('注册失败!');
            }
        }else{
            $this->error($Member->getError());
        }
    }
 }
?>我的MemberModel代码是<?php
class  MemberModel extends Model {
    
    protected $_validate    =   array(
    array("username","require","用户名不能为空"),
array('username','','帐号名称已经存在!',0,'unique',1),
array("username","checkLength","用户名长度不符合要求",0,'callback'),
        array('name','require','名字必须'),
array("password","require","密码不能为空"),
array("password","checkLength","密码长度的要求是5~15位之间",0,'callback'),
array('repassword','password','两次密码输入不一致',0,'confirm'),
        );
    
 protected $_auto = array( 
        array('status', '1', self::MODEL_INSERT), 
        array('create_time', 'time', self::MODEL_INSERT, 'function'), 
    ); 
  
}
?>问题是它不自动验证,不管你填什么都能注册成功,不填的话就是注册失败,不知道怎么回事,请教各位大大

解决方案 »

  1.   

    $Member   =   D('developers');   不存在自定义模型类delelopers,所以实例化的是Model基类。所以你MemberModel 的验证没有生效。
      

  2.   

    $Member   =   D('Member');
      

  3.   


    是的 我改了 但是我的数据表是developers,这样是自动验证了,但是没有想数据库添加上注册的内容啊,那该怎么办?
      

  4.   

    MemberModel里加上 :   protected $tableName = 'developers';