您的位置:首页 > 编程语言 > PHP开发

thinkPHP中服务器端的验证

2016-07-28 00:54 671 查看
<?php
class UserModel extends Model{
//user是表的名称 必须以表名开始,继承Model类
protected $_validate=array(
//array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]);
array('code','require','验证码必须填写!'),
array('code','checkCode','验证码错误!',0,'callback',1),//callback方法验证,定义的验证规则是当前模型类的一个方法

array('username','require','用户必须填写!'),
array('username','','用户已经存在',0,'unique',1),
array('username','/^\w{6,}$/','用户名必须6个字母以上',0,'regex',1),//regex 正则验证,定义的验证规则是一个正则表达式(默认)
array('repassword','password','确认密码不正确',0,'confirm'),
);

protected function checkCode($code){
if(md5($code)!=$_SESSION['code']){
return false;
}else{
return true;
}
}
}
?>


以上是三大自动中的自动验证,自动创建为create(),自动完成为变量$_auto

<?php
class MessageModel extends RelationModel{
//自动完成 array(填充字段,填充内容,[填充条件,附加规则])
protected $_auto=array(
array('time','time',1,'function'),
array('uid','getId',1,'callback')

);

//关联模型
protected $_link=array(
'User'=> array(
'mapping_type'=>BELONGS_TO,
'class_name'=>'User',//要关联的模型类名
'foreign_key'=>'uid',
'mapping_name'=>'user',//关联的映射名称,用于获取数据用
'mapping_fields'=>'username',//关联要查询的字段
'as_fields'=>'username',//直接把关联的字段值映射成数据对象中的某个字段
//'as_fields'=>'username:uname',//直接把关联的字段值映射成数据对象中的某个字段 : 更改名字防止冲突
),

);
protected function getId(){
return $_SESSION['id'];
}
}
?>


关联模型的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: