表单令牌的作用:避免表单的重复提交(如在tp5提交成功等待跳转页面刷新页面会在次提交表单)
原理:在初始化表单时,生成一个session标识‘token’,提交表单时将这个token一起提交过去,然后和session中的token对比,如果验证通过,清空session中的token
用法:
在表单中添加<input type="hidden" name="__hash__" value="{$Request.token}" />或者{:token()}
在验证器中添加规则,验证是否符合
protected $rule = [
'__token__' => 'require|token',
];
protected $message = [
'__token__.require' => '非法提交',
'__token__.token' => '请不要重复提交表单'
];
因为数据表中没有__hash__字段,要删除表单提交过来中数据中的__hash__字段