网站地图    收藏   

主页 > 后端 > thinkphp教程 >

ThinkPHP三大自动 - Thinkphp

来源:自学PHP网    时间:2014-11-28 23:17 作者: 阅读:

[导读] 一、自动验证array( 39;验证字段 39;, 39;验证规则 39;, 39;错误提示 39;, 39;验证条件 39;, 39;附加规则 39;, 39;验证时间 39...

ThinkPHP三大自动

一、自动验证

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

验证字段:需要验证表单字段名称

验证规则:必须要结合附加规则一起使用

错误提示:如果出现错误,抛出一个什么样的错误提示告知用户

验证条件:0、1、2

附加规则:1、regex使用正则验证 2、function使用函数验证 3、callback回调 4、confirm验证表单当中两个字段是否相同 5、验证是否等于某个值 6、in是否在某一个范围内 7、验证是否唯一

TP封装:require 字段必须验证;eamil 验证邮箱;url 验证url地址;currency 货币;number 数字;

验证时间:指数据库操作时间的验证时机,新增数据时验证Model::MODEL_INSERT;编辑的时候验证Model::MODEL_UPDATE;全部情况下验证Model::MODEL_BOTH;

aoli/Home/Tpl/default/User/reg.html

  1. <form action="__URL__/regadd" method="post"> 
  2.     用户名:<input type="text" name="username" /><br /> 
  3.     密码:<input type="password" name="password" /><br /> 
  4.     重复密码:<input type="password" name="repassword" /><br /> 
  5.     注册时间:<input type="text" name="createtime" /><br /> 
  6.     注册IP:<input type="text" name="createip" /><br /> 
  7.     <input type="submit" value="注册" /> 
  8. </form> 

aoli/Home/Lib/Model/UserModel.class.php

  1. <?php 
  2.   class UserModel extends Model{//对应数据库中的表user 
  3.       protected $_validate=array
  4.           array('username','require','用户名必填'), 
  5.           array('username','checklen','用户名长度过长或过短',0,'callback'), 
  6.           array('password','require','密码必填'), 
  7.           array('repassword','require','重复密码必填'), 
  8.           array('password','repassword','两次密码不一致',0,'confirm'), 
  9.           array('createtime','number','您输入的不是数字'), 
  10.           array('createip','email','邮箱格式不正确'), 
  11.       );   
  12.       function checklen($data){ 
  13.           if(strlen($data)>15 || strlen($data)<5){ 
  14.               return false; 
  15.           }else
  16.               return true; 
  17.           } 
  18.       } 
  19.           
  20.   } 
  21.   ?> 

aoli/Home/Lib/Action/UserAction.class.php

  1. <?php 
  2.        class UserAction extends Action { 
  3.        function reg(){ 
  4.            $this->display();      
  5.        } 
  6.        function regadd(){ 
  7.            $user=D('user'); 
  8.            if($user->create()){ 
  9.                if($user->add()){ 
  10.                    $this->success('注册成功');      
  11.                }else
  12.                    $this->error('注册失败');      
  13.                } 
  14.            }else
  15.                $this->error($user->getError());      
  16.            }       
  17.        }       
  18.   } 
  19.   ?> 

二、自动完成(自动填充)

自动完成也是ThinkPHP当中的一个成员方法,在create的时候,自动执行

array('填充字段','填充内容','填充条件','附加规则');

  1. protected $_auto = array (  
  2.       //array( 'status','1'),   //  新增的时候把 status 字段设置为 1 
  3.       array('password','md5',1,'function') ,  //  对 password 字段在新增的时候使 md5 函数处理 
  4.       array('createtime','time',3,'function' ),  //  对 create_time 字段在更新的时候写入当前时间戳 
  5.     );  

三、自动映射(字段映射)

自动映射:将数据库的字段映射成别名,在表单中就可以使用别名了.

  1. protected $_map = array(    
  2.     'name' => 'username'
  3.     'pass' => 'password'
  4. );  

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论