美文网首页
tp5验证器validate使用笔记!

tp5验证器validate使用笔记!

作者: DragonersLi | 来源:发表于2020-04-04 15:02 被阅读0次
controller同级目录创建validate目录,新建UserRegister.php
<?php
namespace app\admin\validate;

use think\Validate; #具体使用方法查看源码

class UserRegister extends Validate
{
//验证规则
    protected $rule = [
        'username'         => 'require|unique:user',
        'password'         => 'confirm:confirm_password',
        'confirm_password' => 'confirm:password', 
        'verify'   => 'require|captcha'
        'mobile'           => 'number|length:11',
        'email'            => 'require|email',
        'status'           => 'require|number|egt:0',
    ];
//提示信息
    protected $message = [
        'username.require'         => '请输入用户名',
        'username.unique'          => '用户名已存在',
        'password.confirm'         => '两次输入密码不一致',
        'confirm_password.confirm' => '两次输入密码不一致', 
        'verify.require'           => '请输入验证码',
        'verify.captcha'           => '验证码不正确',
        'mobile.number'            => '手机号格式错误',
        'mobile.length'            => '手机号长度错误',
        'email.email'              => '邮箱格式错误',
        'status.require'           => '请选择状态',
        'status.number' => 'status必须是大于等于0的数字',
        'status.egt' => 'status必须是大于等于0的数字'
    ];

 //验证场景
    protected $scene = [
        'add' => ['user','email','pwd','status'],
        'edit' => ['user','email','status']
    ];
}

controller调用validate示例:
    /**
     * 用户注册
     */
    public function add()
    {
        if ($this->request->isPost()) {
            $data            = $this->request->param();
            $validate_result = $this->validate($data, 'UserRegister');//字段验证
            !$validate_result  &&  $this->error($validate_result);//验证失败提示错误信息
            $this->model->allowField(true)->save($data)
                ? $this->success('保存成功')
                : $this->error('保存失败');  
        }else{
            return $this->fetch('add', []);
        }

    }
tp3验证demo
//tp3验证demo
         //对数据进行规则验证
        $validate =  validate('User');
        !$validate->check($data) && $this->error($validate->getError());
         // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('photo');
         // 移动到框架应用根目录/public/uploads/ 目录下
        $info = $file->validate(['size'=>15678,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads'); 
          
        !$info && $this->error($file->getError());// 上传失败获取错误信息
     
        // 成功上传后 获取上传信息 
         echo $info->getExtension();// 输出 jpg 
         echo $info->getSaveName(); // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg 
         echo $info->getFilename();  // 输出 42a79759f284b767dfcb2a0197904287.jpg 
        print_R($data);

相关文章

  • tp5验证器validate使用笔记!

    controller同级目录创建validate目录,新建UserRegister.php controller调...

  • tp框架验证器实现

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

  • 验证器

    定义验证器 在引用目录下定义 \app\validate\User 使用验证器 1、引用验证类使用 2、助手函数 ...

  • 输入和验证

    输入和验证 [TOC] 1.使用Validate的子类定义规则 Users控制器: User验证器(验证器的名字要...

  • ThinkPHP验证器使用和实践

    阅读原文 ThinkPHP5.1推荐使用验证器进行数据验证(也支持使用\think\Validate类进行独立验证...

  • 让TP5 Validate支持二维数组验证

    TP5 Validate 只支持一维数组的验证 , 没有像laravel 的那种二维验证. 修改 thinkphp...

  • laravel中的三种验证

    控制器直接使用validate方法 单独创建验证类语法:php artisan make:request 验证类名...

  • ThinkPHP 5.0 Validate 独立验证 和 验证

    关于 Validate 独立验证这一块 Validate验证器 我们在 controller 下 创建一个 val...

  • Laravel 控制器及表单验证

    Laravel 提供了多种不同的方法来验证传入应用程序的数据。 在控制器中编写验证器逻辑; 使用 validate...

  • laravel 的验证器

    1. 验证 对于验证用户输入的数据 ,主要有两种方式 ,手动验证或在控制器中使用 validate() 方法 2....

网友评论

      本文标题:tp5验证器validate使用笔记!

      本文链接:https://www.haomeiwen.com/subject/nznxphtx.html