ThinkPHP Model类自动验证功能解析

来源:互联网 发布:战地4优化怎么样 编辑:程序博客网 时间:2024/05/16 14:00

刚接触thinkphp,不知道model类的作用。Model类有三大自动特性:

$_validate   :自动验证,当create()的时候,内部会去自动找这些自动验证方法。主要完成对输入内容的检验(是否与数据库中表结构相同,输入内容是否符合我们所期望的值)

$_auto         :自动完成(主要完成参数的过滤和默认值的填充)

$_map         :字段映射

详细说明:

$_validate 自动验证

protected $_validate = array(

array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间')

array('manager_phone','require','手机号码必须填写!'),

array('manager_phone','checkPhone','手机号码格式不正确',2,'callback',3),  //利用回调函数来验证,此时可以在Model中定义自己的验证函数

array('manager_phone','','手机号码已存在!',0,'unique')

);


$_auto 自动填充

protected $_auto=array(
// 增加和修改时,将密码填充为123456,并使用MD5加密
array('manager_password','defaultPassword',3,'callback')
);

public function defaultPassword(){
$strPassword=md5('123456');
return $strPassword;
}


$_map 自动映射

protected $_map=array(
// 不用写数组啦
//'是要在表单当中的字段写在前面'=>'是写到后面,数据表当中的真实字段写到后面',
'uname'=>'username',
'upass'=>'password',
);

0 0