写这篇文章的原因在于想到如何的判断form表单提交过来的数据进行判断,为了防止mysql是注入方式。
1.在下载好tp5.0后,配置好本地appache环境后进行的简单项目模块,
在此引入tp5.0开发手册截图
在Admin模块目录下新建一个validate目录,然后新建一个对应需要验证的类文件,
3.验证器类定义信息
//另外给类名一个命名空间
namespace app\Admin\validate;
//引入验证器类
use think\Validate;
class User extends Validate
{
//设置规则
proteceted $rule = [
'username'=> 'require',
'password'=> 'require',
];
//定义报错信息
protected $message = [
'name.require' => '名称不能为空',
'password.require' => '密码不能为空',
];
}
4.在控制器里引入验证器
/**
* 保存新建的资源
*
* @param \think\Request $request
* @return \think\Response
*/
public function postsave(Request $request)
{
//
$request= request();
$result = $this->validate($request->param(),'User');
if (true !== $result) {
dump($result);
// 显示规则,显示信息,阻止提价
$this->error($result,"/user/create");
}else{
$data = $request->except(['action']);
$data['password'] = md5(md5($data['password']));
$data['status'] = 0;
$data['token'] = mt_rand(6,10000).uniqid();
$data['addtime'] = time();
$info = DB::table("user")->insert($data);
if ($info) {
$this->success("添加成功","/user/index");
}else{
$this->error("添加error","/user/create");
}
}
}