手机版

Thinkphp实现自动验证和自动完成

时间:2021-09-20 来源:互联网 编辑:宝哥软件园 浏览:

Thinkphp的自动验证和自动完成都是根所表单提交的内容来的,对部分数据进行规则验证和处理后插入到数据库。

1、自动验证格式:

数组(数组(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),数组(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]),);验证条件:self:EXISTS_VALIDATE或者0 存在字段就验证(默认)self:MUST_VALIDATE或者一必须验证self:VALUE_VALIDATE或者2值不为空的时候验证验证时间:self:MODEL_INSERT或者一新增数据时候验证self:MODEL_UPDATE或者2编辑数据时候验证self:MODEL_BOTH或者3全部情况下验证(默认)

2、自动完成格式:

数组(数组(完成字段1,完成规则,[完成条件,附加规则]),数组(完成字段2,完成规则,[完成条件,附加规则]),);完成时间:self:MODEL_INSERT或者一新增数据的时候处理(默认)self:MODEL_UPDATE或者2更新数据的时候处理self:MODEL_BOTH或者3所有情况都进行处理

小实例(注册)HTML布局:

form class=' form-horizontal ' action=' { : u(' log in/register ')} '方法=' post '自动完成=' off ' enctype=' multipart/form-data ' div class=' form-group ' label class=' col-LG-2 control-label '用户名/label div class=' col-LG-4 ' input class=' form-control ' type=' text ' name=' username '/div/div div class=' form-group ' label class=' col-LG-2 control-label '密码/label div class=' col-LG-4 ' input class=' form-control ' type=' password ' name=密码'/div/div class=' form-group '标签class=' col-LG-2 control-label '重复密码/label div class=' col-LG-4 ' input class=' form-control ' type=' password ' name=' repassword '/div/div class=' form-group ' label class=' col-LG-2 control-label '头像/label div class=' col-LG-4 ' input class=' form-control ' type=' file ' name='人像id=' img path '/img style=' width : 100%;' src=' http : ' id=' showimgpath ' alt='头像/span class='help-block '关像的大小为80 * 80px/span/div/div class=' form-group ' label class=' col-LG-2 control-label '性别/label div class=' col-LG-4 ' div class=' BTN-组' data-toggle=' buttons ' label class=' BTN BTN-默认活动'输入类型='收音机'名称='性别'自动完成='关闭'值='1 '选中/男/label label class=' BTN BTN-默认'输入类型='收音机'名称='性别'自动完成='关闭'值='0' /女/label/div/div/class=' form-group ' label class=' col-LG-2 control-label '电话号码/label div class=' col-LG-4 ' input class=' form-control ' type=' input name=' phone '/div/div class=' form-group ' label class=' col-LG-2 control-label '邮箱/label div class=' col-LG-4 ' input class=' form-control ' type=' input ' name=' email '/div/div class=' form-group ' div class=' col-LG-2 col-LG-offset-2 ' button class=' BTN BTN-主要BTN-BTN街区-submit ' type=' submit '注册/按钮/div/表单模型(成员模型)

?phpnamespace管理\模型使用思考\模型;类成员模型扩展了模型{ /*自动验证*/protected $ _ validate=array(array(' username ','','用户名是唯一的!',self:EXISTS_VALIDATE,' unique ',self:MODEL_INSERT),数组('密码','要求','没有填写密码!',自拍:EXISTS_VALIDATE ' ',自拍:MODEL _ INSERT),数组(' repassword ',' password ','重复密码不正确!',self:EXISTS_VALIDATE,' confirm ',self:MODEL_INSERT),数组(“电话”,“11”,电话号码长度不对!',self:EXISTS_VALIDATE,' length ',self:MODEL_INSERT),数组(“电子邮件”,“电子邮件”,邮箱格式不正确!',self:EXISTS_VALIDATE ' ',self : model _ INSERT));/* 自动完成*/protected $ _ auto=array(array(' password ',' encrypt ',self 3360: model _ INSERT,' callback ')、array('state ',' 1 ',self:MODEL_INSERT ')、array('create_time ',' createTime ',self 3360: model _ INSERT,' callback ');/* 给密码加密*/public function encrypt(){ return MD5(crypt(I)()post。密码/s ',' zh '));} /* 创建时间*/public函数create time(){ return time();} /* 上传头像*/公共函数人像(){ if($_FILES['人像]['name']) { //如果上传的头像$上传=新建\思考\上传();//实例化上传类$ upload-MaxSize=3145728;//设置附件上传大小$upload-exts=array('jpg ',' gif ',' png ',' JPEG ');//设置附件上传类型$upload-rootPath=' ./上传/人像/';//设置附件上传根目录//上传单个文件$ info=$ uploadOne($ _ FILES['人像']);if(!$info) {//上传错误提示错误信息$ this-error($ upload-GetError());}else{//上传成功获取上传文件信息$portraitPath=' ./上传/肖像/'。$info['savepath'].$ info['保存名称'];$ Image=new \ Think \ Image();$ image-open($ portraitPath);//生成一个居中裁剪为80*80的缩略图$image-thumb(150,150,\ Think \ image :3360 image _ THUMB _ CENTER)-save($ portraitPath);返回$info['savepath'].$ info['保存名称'];} } }}对应的数据表结构:

在控制器中检测及插入到数据库:

/* 注册*/public function register(){ if(IS _ POST){ $ member=D(' member ');if($ member-create()){ if($ member-add()){ $ this-success('注册成功!');} else { $this-error('注册失败!');} } else { exit($ member-GetError());} } $ this-display();}以上就是本文的全部内容,希望对大家的学习有所帮助

版权声明:Thinkphp实现自动验证和自动完成是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。