计算机网络/计算机科学与应用/系统/运维/开发

ThinkPHP5.1验证器使用

ThinkPHP5.1验证器

一、验证器定义

1、验证器的使用 必须先定义

php think make:validate User


2、自动在应用目录下生成一个validate文件夹 并生成User.php类

class User extends Validate


3、自动生成2个属性  $rule 表示定义规则  $message表示错误提示信息

protected $urle = [
    'name'=>'require|max:20',//不得为空 不得大于20
    'price'=> 'number|between:1,100',//必须是数值 1-100之间
    'email'=>'email'  //邮箱格式
];
protected $message = [
      'name.require' => '名称必须',
      'name.max'     => '名称最多不能超过25个字符',
      'age.number'   => '年龄必须是数字',
      'age.between'  => '年龄必须在1~120之间',
      'email'        => '邮箱格式错误',
    ];

4、如果不设置$message 定义的话,将提示默认的错误信息

5、验证器定义好之后,需要进行调用测试,创建一个控制器

需要继承控制器  use think\Controller;

$data =[
    'name'=>'张三',
    'price'=>90,
    'email'=>'xxx@qq.com'
];
$validate = new \app\validate\User();
if(!$validate->check($data)){
    dump($validate->getError());
}


6、控制器类还提供一个更加方便验证的方法,可以更容易进行编码;

$result =$this->validate([
    'name'=>'张三',
    'price'=>90,
    'email'=>'xxx@qq.com'
],'\app\validate\User');
if($result !== true){
    dump($result);
}

一般情况下,如果有数据验证不符合规则,则立刻停止验证进行返回。


7、如果需要验证所有的错误信息,需要手动开启批量验证

protected $batchValidate = true;


8、默认情况下,验证失败后不会抛出异常,需要手动设置

protected $failException = true;


tp5.1

努力的意义,不在于一定会让你取得多大的成就,只是让你在平凡的日子里,活得比原来的那个自己更好一点。

评论

^