zoukankan      html  css  js  c++  java
  • <转>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方法里面的首字母要大写。

    (本文原创小谈博客:http://tanteng.sinaapp.com/2012/11/thinkphp_validate/

  • 相关阅读:
    react hooks子给父传值
    npm安装依赖 and 删除依赖
    react 阻止事件冒泡
    http 500状态码
    vue中插槽slot的使用
    怎样在vue项目中使用axios处理接口请求
    GET 与 POST 其实没有什么区别
    LazyMan
    什么是微服务,什么是分布式
    思索 p5.js 的最佳实践
  • 原文地址:https://www.cnblogs.com/sjxx/p/5492411.html
Copyright © 2011-2022 走看看