在thinkphp自动验证中 当我验证出错一切正常 但当我验证成功返回的是emptypublic function register(){
if($_GET && !empty($_GET)){
$Admin = D('Admin');
if($Admin->create($_GET,1)===false){
return show(0,$Admin->getError());
}else{
$result = $Admin->registerByPost();
if(!$result){
return show(0,'数据操作失败');
}
return show(1,'成功',array('admin_id'=>$result));
}
}
else{
//$result=D('Admin')->registerByPost();
//var_dump($result);
return show(0,'参数错误');
}
}
于是我做了对false的判断 所有验证一切正常
但是 当我验证unique时
protected $_validate = array(
array('admin_number','6,16','账号长度超出限制',1,'length'), // 在新增的时候验证name字段长
//array('admin_number','','帐号名称已经存在!',0,'unique'),
array('admin_password','checkPwd','密码格式不正确',1,'function'), // 自定义函数验证密码格式
array('admin_name','2,16','名字长度超出限制',0,'length'),
array('admin_age',array(1,100),'你是妖怪吗',0,'between'),
array('admin_sex',array(0,1),'你是人妖吗',0,'in'),
);
会报一个错误
求解啊 改了2天了 没弄懂
if($_GET && !empty($_GET)){
$Admin = D('Admin');
if($Admin->create($_GET,1)===false){
return show(0,$Admin->getError());
}else{
$result = $Admin->registerByPost();
if(!$result){
return show(0,'数据操作失败');
}
return show(1,'成功',array('admin_id'=>$result));
}
}
else{
//$result=D('Admin')->registerByPost();
//var_dump($result);
return show(0,'参数错误');
}
}
于是我做了对false的判断 所有验证一切正常
但是 当我验证unique时
protected $_validate = array(
array('admin_number','6,16','账号长度超出限制',1,'length'), // 在新增的时候验证name字段长
//array('admin_number','','帐号名称已经存在!',0,'unique'),
array('admin_password','checkPwd','密码格式不正确',1,'function'), // 自定义函数验证密码格式
array('admin_name','2,16','名字长度超出限制',0,'length'),
array('admin_age',array(1,100),'你是妖怪吗',0,'between'),
array('admin_sex',array(0,1),'你是人妖吗',0,'in'),
);
会报一个错误
求解啊 改了2天了 没弄懂
protected $_validate = array(
array('admin_number','6,16','账号长度超出限制',1,'length'), // 在新增的时候验证name字段长
array('admin_number','','帐号名称已经存在!',0,'unique'),
array('admin_password','checkPwd','密码格式不正确',1,'function'), // 自定义函数验证密码格式
array('admin_name','2,16','名字长度超出限制',0,'length'),
array('admin_age',array(1,100),'你是妖怪吗',0,'between'),
array('admin_sex',array(0,1),'你是人妖吗',0,'in'),
); public function __construct(){
$this->_db = M('Admin');
}
这里定义在子类AdminModel 中定义了$_db ,覆盖了父类Model中的$_db ,并且没有调用父类的构造方法
在定义model类时 应该多做注意 详情见http://www.kancloud.cn/manual/thinkphp/1728
其实也没有必要实力话Admin类 如果跟数据库一致的话 会自动实例化