php验证返回值,关于ThinkPHP 3.2.3 自动验证返回值

本文探讨了使用ThinkPHP框架进行自动验证时遇到的问题,详细分析了create()方法的行为,包括其返回值及如何正确判断验证结果。同时分享了一个具体的用户登录验证案例。

使用 ThinkPHP 自动验证, create() 返回始终很奇怪,通过验证返回一个空数组,未通过验证返回 false,getError() 中也能获取到错误,可这样就没办法判断是否正确了。难道还要判断 create() 的返回值 is_array() ?翻了很多栗子,发现写法都一样的,可结果却大相径庭。

UserModel:

namespace Common\Model;

use Think\Model;

/**

*

*/

class UserModel extends Model

{

private $_db;

protected $_validate = [

['email', 'require', '邮箱不正确'],

['password', 'require', '密码不正确']

];

function __construct()

{

$this->_db = M('users');

}

public function getUser($email)

{

return $this->_db->where("email = '%s'", $email)->find();

}

}

UserController:

namespace Admin\Controller;

use Think\Controller;

/**

*

*/

class LoginController extends Controller

{

/**

* 登录页

*/

public function index()

{

$this->display();

}

public function login()

{

if (IS_POST) {

$User = D('User');

// var_dump($User->create());

if (!$User->create()){ // 始终走这里边

$this->ajaxReturn([

'status' => 0,

'msg' => $User->getError(),

'data' => null

]);

} else {

$user = $User->getUser(I('post.email'));

var_dump($user);

}

}

}

}

html:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值