概述

ThinkPHP5.0验证使用独立的\think\Validate类或者验证器进行验证。

独立验证

任何时候,都可以使用Validate类进行独立的验证操作,例如:

  1. $validate = new Validate([
  2. 'name' => 'require|max:25',
  3. 'email' => 'email'
  4. ]);
  5. $data = [
  6. 'name' => 'thinkphp',
  7. 'email' => 'thinkphp@qq.com'
  8. ];
  9. if (!$validate->check($data)) {
  10. dump($validate->getError());
  11. }

验证器

这是5.0推荐的验证方式,为具体的验证场景或者数据表定义好验证器类,直接调用验证类的check方法即可完成验证,下面是一个例子:

我们定义一个\app\index\validate\User验证器类用于User的验证。

  1. namespace app\index\validate;
  2. use think\Validate;
  3. class User extends Validate
  4. {
  5. protected $rule = [
  6. 'name' => 'require|max:25',
  7. 'email' => 'email',
  8. ];
  9. }

在需要进行User验证的地方,添加如下代码即可:

  1. $data = [
  2. 'name'=>'thinkphp',
  3. 'email'=>'thinkphp@qq.com'
  4. ];
  5. $validate = Loader::validate('User');
  6. if(!$validate->check($data)){
  7. dump($validate->getError());
  8. }

使用助手函数实例化验证器

  1. $validate = validate('User');