thinkphp6中Validate验证类的静态代理无法使用?

zmboy php编程 2020-09-10 19:25 2403

摘要:相信很多新手朋友初次接触tp6的时候都会遇到这个问题,我明明正确引入了Validate验证类的静态代理,语法也没有错误。为啥无效呢?下面小编亲自整理出这个问题的...

相信很多新手朋友初次接触tp6的时候都会遇到这个问题,我明明正确引入了Validate验证类的静态代理,语法也没有错误。为啥无效呢?

下面小编亲自整理出这个问题的解决方案


首先在应用中正常引入validate的静态代理

<?php
namespace app\controller;

use app\BaseController;

use think\facade\Validate;


打开项目根目录

在 vendor\topthink\framework\src\think\facade 目录中找到 Validate.php文件并打开,如下图

Image 1.png

将:

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'验证成功';


相关推荐

评论列表
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
关闭

用微信“扫一扫”