我的thinkphp用的3.1版本,但是自动验证,字段映射,自动完成按照官方步骤做的都不能用
下面是Actionpublicfunctioncheck(){$User=D('Admin');$a=$User->create();if(!$a){//如果创建失败表示...
下面是Action
public function check(){
$User=D('Admin');
$a=$User->create();
if (!$a){
// 如果创建失败 表示验证没有通过 输出错误提示信息
$User->getError();
}else{
$User->add();
$date=$User->select();
$this->assign('date',$date);
$this->display('show');
}
}
下面是model
class AdminModel extends Model{
// 自动验证设置
protected $_validate = array(
array('name','require','password必须!',1),
array('password','require','pwd必须!',1),
);
能查询,能插入,但是自动验证设置不管用, 展开
public function check(){
$User=D('Admin');
$a=$User->create();
if (!$a){
// 如果创建失败 表示验证没有通过 输出错误提示信息
$User->getError();
}else{
$User->add();
$date=$User->select();
$this->assign('date',$date);
$this->display('show');
}
}
下面是model
class AdminModel extends Model{
// 自动验证设置
protected $_validate = array(
array('name','require','password必须!',1),
array('password','require','pwd必须!',1),
);
能查询,能插入,但是自动验证设置不管用, 展开
展开全部
$User=new Model('Admin'); // 问题在这一句代码。Model()或M()方法实例化基础模型,而你在模型中添加了自动验证,属于自定义模型。因此自动验证部分不会又作用。
// 将上一句按如下修改
$User=new AdminModel(); // 直接实例化为你的自定义模型
// 或者更简单的
$User=D('Admin');
// 详细内容参考官方文档 6.2 模型实例化
更多追问追答
追问
我一开始是用的D方法,M方法也试过了,都不行,才这么写的。这三种方法都不行啊
追答
自动验证设置不管用是什么意思?当name或password为空,都可以插入?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询