您好,欢迎访问一九零五行业门户网

ThinkPHP表单自动验证实例,thinkphp表单实例_PHP教程

thinkphp表单自动验证实例,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程序开发有所帮助。
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');
}
thinkphp 自动验证出现这样的错误提示:_token_error_ 代表什意思?
thinkphp新版内置了表单令牌验证功能,可以有效防止表单的远程提交等安全防护。
表单令牌验证相关的配置参数有:'token_on'=>true, // 是否开启令牌验证'token_name'=>'__hash__', // 令牌验证的表单隐藏字段名称'token_type'=>'md5', //令牌哈希验证规则默认为md5如果开启表单令牌验证功能,系统会自动在带有表单的模板文件里面自动生成以token_name为名称的隐藏域,其值则是token_type方式生成的哈希字符串,用于实现表单的自动令牌验证。自动生成的隐藏域位于表单form结束标志之前,如果希望自己控制隐藏域的位置,可以手动在表单页面添加 标识,系统会在输出模板的时候自动替换。如果在开启表单令牌验证的情况下,个别表单不需要使用令牌验证功能,可以在表单页面添加{__notoken__},则系统会忽略当前表单的令牌验证。如果页面中存在多个表单,建议添加标识,并确保只有一个表单需要令牌验证。模型类在创建数据对象的同时会自动进行表单令牌验证操作,如果你没有使用create方法创建数据对象的话,则需要手动调用模型的autochecktoken方法进行表单令牌验证。如果返回false,则表示表单令牌验证错误。例如:$user = m(user); // 实例化user对象// 手动进行令牌验证if (!$user->autochecktoken($_post)){// 令牌验证错误
http://www.bkjia.com/phpjc/893425.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/893425.htmltecharticlethinkphp表单自动验证实例,thinkphp表单实例 本文实例讲述了thinkphp表单自动验证的实现方法。分享给大家供大家参考。具体方法如下: 该示...
其它类似信息

推荐信息