摘要:相信很多新手朋友初次接触tp6的时候都会遇到这个问题,我明明正确引入了Validate验证类的静态代理,语法也没有错误。为啥无效呢?下面小编亲自整理出这个问题的...
相信很多新手朋友初次接触tp6的时候都会遇到这个问题,我明明正确引入了Validate验证类的静态代理,语法也没有错误。为啥无效呢?
下面小编亲自整理出这个问题的解决方案
首先在应用中正常引入validate的静态代理
<?php namespace app\controller; use app\BaseController; use think\facade\Validate;
打开项目根目录
在 vendor\topthink\framework\src\think\facade 目录中找到 Validate.php文件并打开,如下图
将:
protected static $alwaysNewInstance = true;
改为:
protected static $alwaysNewInstance = false;
保存即可!下面再调用你就会发现正常啦
<?php namespace app\controller; use app\BaseController; use think\facade\Validate; public function loginch(){ if(Request::isAjax()){ //判断是否是ajax请求 $data = Request::post(); //获取提交过来的数据 //创建验证规则 $rules = [ 'mobile|手机号' => 'require|mobile', //必填项并且限制登陆账号必须是手机号格式 'password|密码' => 'require|alphaNum', //必填项并且限制密码只能是数字或字母 ]; Validate::rule($rules); //初始化验证规则 if(!Validate::check($data)){ //开始验证并判断验证结果是否不为真 return Validate::getError() } return'验证成功';