如何掌握ThinkPHP5.0验证类应用技巧?

更新于
2026-09-30 12:28:10
4阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计447个文字,预计阅读时间需要2分钟。

如何掌握ThinkPHP5.0验证类应用技巧?

通过一个实例,给家长解释一下如何通过ThinkPHP5.0验证类的方法。

自定义验证类,需要继承Validate类。比如在home模块新建validate文件夹,然后创建Test.php验证类,内容如下:

如何掌握ThinkPHP5.0验证类应用技巧?

php

use think\Validate;

class Test extends Validate{ protected $rule=[ 'name'=> 'require|max:25', 'age'=> 'number|between:1,120', ];

protected $message=[ 'name.require'=> '姓名必须填写', 'name.max'=> '姓名最多不能超过25个字符', 'age.number'=> '年龄必须是数字', 'age.between'=> '年龄必须在1到120之间', ];}

这样,我们就创建了一个名为Test的验证类,它包含了name和age两个字段的验证规则和错误信息。在控制器中使用这个验证类,可以像下面这样:

php

use think\Request;use app\home\validate\Test;

class Index extends Controller{ public function index(Request $request) { $data=$request->param(); $validate=new Test(); if (!$validate->check($data)) { return json(['error'=> $validate->getError()]); } // 验证通过后的逻辑处理 }}

通过一个实例,给大家讲解一下如果通过thinkphp5.0验证类的方法。

自定义验证类,需继承Validate类

比如在home模块新建validate文件夹,再新建Test.php验证类,内容如下:

<?php namespace app\home\validate; use think\Validate; class Test extends Validate { protected $rule = [ 'name' => 'require|regex:/.{6}/', 'age' => 'number|between:1,120', 'email' => 'email' ]; protected $message = [ 'name.require' => 'name不能少', 'name.regex' => 'name不能少于6个字符', 'age.number' => 'age必须是数字', 'age.between' => 'age必须在1到120之间', 'email.email' => 'email格式不对', ]; protected $scene = [ 'name_email' => ['name','email'], ]; } ?>

在Index控制器test方法使用

<?php namespace app\home\controller; use think\Loader; use think\Controller; class Index extends Controller { public function test(){ $date = [ 'name'=>'qw2e', 'email'=>'12313' ]; //$validate = Loader::validate('Test');//使用加载类Loader $validate = validate('Test');//使用助手函数 $result = $validate->scene('name_email')->check($date); if(!$result){ dump($validate->getError()); } } }

以上就是我们给出的验证类的实例方法,如果还有哪里不明白,大家可以在下方留言一起讨论。

本文共计447个文字,预计阅读时间需要2分钟。

如何掌握ThinkPHP5.0验证类应用技巧?

通过一个实例,给家长解释一下如何通过ThinkPHP5.0验证类的方法。

自定义验证类,需要继承Validate类。比如在home模块新建validate文件夹,然后创建Test.php验证类,内容如下:

如何掌握ThinkPHP5.0验证类应用技巧?

php

use think\Validate;

class Test extends Validate{ protected $rule=[ 'name'=> 'require|max:25', 'age'=> 'number|between:1,120', ];

protected $message=[ 'name.require'=> '姓名必须填写', 'name.max'=> '姓名最多不能超过25个字符', 'age.number'=> '年龄必须是数字', 'age.between'=> '年龄必须在1到120之间', ];}

这样,我们就创建了一个名为Test的验证类,它包含了name和age两个字段的验证规则和错误信息。在控制器中使用这个验证类,可以像下面这样:

php

use think\Request;use app\home\validate\Test;

class Index extends Controller{ public function index(Request $request) { $data=$request->param(); $validate=new Test(); if (!$validate->check($data)) { return json(['error'=> $validate->getError()]); } // 验证通过后的逻辑处理 }}

通过一个实例,给大家讲解一下如果通过thinkphp5.0验证类的方法。

自定义验证类,需继承Validate类

比如在home模块新建validate文件夹,再新建Test.php验证类,内容如下:

<?php namespace app\home\validate; use think\Validate; class Test extends Validate { protected $rule = [ 'name' => 'require|regex:/.{6}/', 'age' => 'number|between:1,120', 'email' => 'email' ]; protected $message = [ 'name.require' => 'name不能少', 'name.regex' => 'name不能少于6个字符', 'age.number' => 'age必须是数字', 'age.between' => 'age必须在1到120之间', 'email.email' => 'email格式不对', ]; protected $scene = [ 'name_email' => ['name','email'], ]; } ?>

在Index控制器test方法使用

<?php namespace app\home\controller; use think\Loader; use think\Controller; class Index extends Controller { public function test(){ $date = [ 'name'=>'qw2e', 'email'=>'12313' ]; //$validate = Loader::validate('Test');//使用加载类Loader $validate = validate('Test');//使用助手函数 $result = $validate->scene('name_email')->check($date); if(!$result){ dump($validate->getError()); } } }

以上就是我们给出的验证类的实例方法,如果还有哪里不明白,大家可以在下方留言一起讨论。