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事件里的代码,就清楚要接收什么数据,如何验证数据能够在第一眼有个大致了解,所以总结出了此方式。
外语教育精品课程类网站模板(带手机版)安装即用,自带人人站CMS内核,支持移动端,前端banner轮播图文本均已进行可视化配置,伪静态页面生成,支持内容模型,支持多种URL模式及模型。模板特点:1、安装即用,自带人人站CMS内核及企业站展示功能(产品,新闻,案例展示等),并可根据需要增加表单 搜索等功能(自带模板) 2、支持响应式 3、前端banner轮播图文本均已进行可视化配置 4、伪静态页面生
ThinkPHP的后台框架,本身并没有ajax。用jquery form提交就好,很方便。你可以看一下thinkphp官方的示例
www.thinkphp.cn/extend/230.html
给你看我写的一个例子:
//表单验证
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');
}










