TP5.0的检验类的引用

写这篇文章的原因在于想到如何的判断form表单提交过来的数据进行判断,为了防止mysql是注入方式。

  1.在下载好tp5.0后,配置好本地appache环境后进行的简单项目模块,

     在此引入tp5.0开发手册截图
TP5.0的检验类的引用_第1张图片

 

在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");
            }
             
           
        }
    }

 

你可能感兴趣的:(php技术,TP5.0,THINKPHP)