THINKPHP三大自动

ThinkPHP三大自动(2012-03-21 10:48:56)

标签: thinkphp三大自动自动验证自动完成自动填充自动映射字段映射杂谈分类: php

一、自动验证

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',
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值