thinkphp自动验证无效的问题

Posted 梦里梦到梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp自动验证无效的问题相关的知识,希望对你有一定的参考价值。

新手入门thinkphp,试用自动验证表单输入数据功能,却发现怎么都不能调用自动验证,自动验证无效,原因竟是一个小细节的疏忽,学习一定要细心啊!

Action方法: IndexAction下的adds方法,D(“Liuyan”)获取post提交过来的内容,create()方法创建数据对象,D方法创建了数据对象才可以自动调用验证。

public function adds(){
        $ly=D("liuyan");
        $result=$ly->create();
 
        if($result){
            echo ‘success‘;
            $ly->add();
        }
        else{
            exit($ly->getError());
        }    
    }

Model方法:
自动验证功能,加上$_validate属性,以数组的形式定义验证规则。

class LiuyanModel extends Model{
    protected $_validate=array(
        array(‘ly_content‘,‘require‘,‘名字必填哦!‘,‘1‘),
        array(‘ly_user‘,‘‘,‘帐号名称已经存在!‘,0,‘unique‘,1),
    );
}

这样写的问题是,新增数据没有问题,但是不能自动调用验证功能,ThinkPHP的验证功能失效了。弄了半天,才知道,原因在于D(“Liuyan”)这样写才是对的,首字母大写。蛋疼,这么一个细节问题纠结半天,但不解的是为什么小写的形式却可以正确插入数据呢,那还是找到liuyan对应的数据表了啊。

thinkphp自动验证D方法里面的首字母要大写。

以上是关于thinkphp自动验证无效的问题的主要内容,如果未能解决你的问题,请参考以下文章

Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册

thinkphp自动验证

ThinkPHP教程_PHP框架之ThinkPHP三大自动

thinkphp 自动验证出现这样的错误提示:_TOKEN_ERROR_ 代表啥意思啊?

ThinkPhp 3.2 自动验证

ThinkPHP中create()方法自动验证