首頁 > php教程 > php手册 > ThinkPHP 表单自动验证运用示例,thinkphp示例

ThinkPHP 表单自动验证运用示例,thinkphp示例

WBOY
發布: 2016-06-13 09:24:00
原創
877 人瀏覽過

ThinkPHP 表单自动验证运用示例,thinkphp示例

使用TP 3.2框架

public function add_post(){
//验证规则
$rule=array(
array('name','require','请输入姓名',1),//必须验证name
);

$m=M('user');

//获取name,sex,contact数据到模型,并验证
if(!$m->field('name,sex,contact')->validate($rule)->create())
$this->error($m->getError());

$result=$m->add();

if(!$result)
$this->error('添加失败');

$this->success('添加成功',U('dir'));
}
登入後複製

验证规则也可以写到模型里,但我感觉有些麻烦,一是有时候不同页面验证的方式会不一样,二是看到这个add_post事件里的代码,就清楚要接收什么数据,如何验证数据能够在第一眼有个大致了解,所以总结出了此方式。

thinkphp的表单验证不是ajax的?有比thinkphp的表单验证工具更好用的?比如jquery form

ThinkPHP的后台框架,本身并没有ajax。用jquery form提交就好,很方便。你可以看一下thinkphp官方的示例
www.thinkphp.cn/extend/230.html
 

thinkphp自动验证的问题

给你看我写的一个例子:
//表单验证
protected $_validate=array(
//array('验证字段','验证规则','错误提示',验证条件,附加规则,验证时间)
array('uname','require','用户名必须验证!',1,'regex',3),
//array('username','','用户名已经存在',1,'unique',1),
array('pwd','require','密码必须填写!'),

array('pwd','checkPwd','密码长度不少于6位',1,'callback'),
);

function checkPwd(){
$password=$_POST['pwd'];
if(strlen($password)>=6){
return true;
}else {
return false;
}
}
//表单映射
protected $_map=array(
'uname'=>'username',
'pwd'=>'password',
);
//自动完成功能
protected $_auto=array(
//array(填充字段,填充内容,填充条件,附加规则) 填充条件:1,插入 2,更新 3,所有的
array('reg_date','getDate',1,'callback'),
array('password','md5',3,'function'),
);
function getDate(){
return date('Y-m-d H:i:s');
}
 

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板