码迷,mamicode.com
首页 > Web开发 > 详细

ThinkPHP中自动验证失败

时间:2014-08-01 20:27:22      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:style   color   使用   io   文件   数据   问题   cti   

本人最近刚开始学ThinkPHP,在练习的过程中遇到了一些问题。下面是我在进行TP自动验证时遇到的问题!

表名是test_member

Controller代码如下:

<?php
namespace Regiter\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $this->display();
    }
    public function register($email="",$password="",$cpassword=‘‘,$name="",$phone="",$address=""){
        $rdata = array(‘email‘=>$email,‘password‘=>$password,‘name‘=>$name,‘phone‘=>$phone,‘adress‘=>$address);
        $User = D("Member");
        if (!$User->create($rdata)){
            // 如果创建失败 表示验证没有通过 输出错误提示信息
            $this->ajaxReturn($User->getError());
        }else{
            //$User->add($rdata);
            $this->success($User->select());
            // 验证通过 可以进行其他数据操作
        }

    }
}

Model代码如下:

<?php
/**
 * Created by PhpStorm.
 * User: BaByDragon
 * Date: 14-8-1
 * Time: 下午2:48
 */
namespace Regiter\Model;
use Think\Model;
class MemberModel extends Model{
    protected $tableName = ‘member‘;
    protected $_validate = array(
        array(‘email‘,‘require‘,‘验证码必须!‘),  // 都有时间都验证
        array(‘name‘,‘‘,‘帐号名称已经存在!‘,0,‘unique‘,1),
        array(‘name‘,‘checkName‘,‘帐号错误!‘,1,‘function‘,4),  // 只在登录时候验证
        array(‘password‘,‘checkPwd‘,‘密码错误!‘,1,‘function‘,4), // 只在登录时候验证
    );
}
?>

结果自动验证怎么也不成功!最后发现Model文件名错了!TP模型层的文件名应是表名(驼峰法命名,并且首字母大写)+.class.php。而我却写成了表名+.php。

通过本次教训我总结了TP中使用自动验证时许注意:D方法的参数是Model的名字而不是表的名字!


ThinkPHP中自动验证失败,布布扣,bubuko.com

ThinkPHP中自动验证失败

标签:style   color   使用   io   文件   数据   问题   cti   

原文地址:http://my.oschina.net/DDDdragon/blog/297202

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!