ThinkPHP三大自动
发布:smiling 来源: PHP粉丝网 添加日期:2014-04-19 16:47:14 浏览: 评论:0
一、自动验证
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
- <form action="__URL__/regadd" method="post">
- 用户名:<input type="text" name="username" /><br />
- 密码:<input type="password" name="password" /><br />
- 重复密码:<input type="password" name="repassword" /><br />
- 注册时间:<input type="text" name="createtime" /><br />
- 注册IP:<input type="text" name="createip" /><br />
- <input type="submit" value="注册" />
- </form>
aoli/Home/Lib/Model/UserModel.class.php
- <?php
- class UserModel extends Model{//对应数据库中的表user
- protected $_validate=array(
- array('username','require','用户名必填'),
- array('username','checklen','用户名长度过长或过短',0,'callback'),
- array('password','require','密码必填'),
- array('repassword','require','重复密码必填'),
- array('password','repassword','两次密码不一致',0,'confirm'),
- array('createtime','number','您输入的不是数字'),
- array('createip','email','邮箱格式不正确'),
- );
- function checklen($data){
- if(strlen($data)>15 || strlen($data)<5){
- return false;
- }else{
- return true;
- }
- }
- }
- ?>
aoli/Home/Lib/Action/UserAction.class.php
- <?php
- class UserAction extends Action {
- function reg(){
- $this->display();
- }
- function regadd(){
- $user=D('user');
- if($user->create()){
- if($user->add()){
- $this->success('注册成功');
- }else{
- $this->error('注册失败');
- }
- }else{
- $this->error($user->getError());
- }
- }
- }
- ?>
二、自动完成(自动填充)
自动完成也是ThinkPHP当中的一个成员方法,在create的时候,自动执行
array('填充字段','填充内容','填充条件','附加规则');
- protected $_auto = array (
- //array( 'status','1'), // 新增的时候把 status 字段设置为 1
- array('password','md5',1,'function') , // 对 password 字段在新增的时候使 md5 函数处理
- array('createtime','time',3,'function' ), // 对 create_time 字段在更新的时候写入当前时间戳
- );
三、自动映射(字段映射)
自动映射:将数据库的字段映射成别名,在表单中就可以使用别名了.
- protected $_map = array(
- 'name' => 'username',
- 'pass' => 'password',
- );
Tags: ThinkPHP 自动验证 规则
相关文章
- ·ThinkPHP中自定义错误页面和提示页面 (2013-11-15)
- ·ThinkPHP中Ajax返回(2013-11-15)
- ·ThinkPHP中处理表单中注意(2013-11-15)
- ·ThinkPHP中I(),U(),$this->post()等函数(2013-11-15)
- ·ThinkPHP中公共函数路径和配置项路径的映射(2013-11-15)
- ·ThinkPHP中公共配置文件和各自项目中的配置文件组合(2013-11-15)
- ·ThinkPHP在控制器里的javascript代码不能执行解决方法(2013-11-29)
- ·ThinkPHP3.0略缩图不能保存到子目录(2013-12-03)
- ·thinkphp的循环结构(2014-01-10)
- ·thinkphp特殊标签使用(2014-01-10)
- ·thinkphp模板输出汇总(2014-01-10)
- ·thinkphp模板的赋值与替换(2014-01-10)
- ·thinkphp连贯操作(2014-01-10)
- ·thinkphp区间查询、统计查询、SQL直接查询(2014-01-10)
- ·thinkphp的普通查询与表达式查询(2014-01-10)
- ·RBAC类在ThinkPHP中的四种使用方法(2014-01-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)