superadminx/think_validate

v1.0.2 2025-09-11 03:46 UTC

This package is auto-updated.

Last update: 2025-09-11 03:47:29 UTC


README

基于thinkphp validate全功能版,用于webman框架的validate数据验证器,

  • 支持unquire唯一性验证(基于TP Db类)

变化如下

  • 任何use的时候 如use think\Validate; 变为use superadminx\think_validate\Validate; 就是将use think变为use superadminx\think_validate

  • validate函数变为 think_validate函数 因为安装webman/think-orm的时候,think-orm里面也会安装topthink/think-validate导致validate函数被占用,所以改了函数名

用法完全跟tp验证一致,更多用法可以参考ThinkPHP开发手册的验证章节

安装

composer require superadminx/think_validate

用法

定义验证器

namespace app\validate;

use superadminx\think_validate\Validate;

class UserValidate extends Validate
{
    // 定义规则
    protected $rule =   [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',    
    ];
    
	// 定义信息
    protected $message  =   [
        'name.require' => '名称必须',
        'name.max'     => '名称最多不能超过25个字符',
        'age.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',    
    ];
	
	//定义场景
	protected $scene = [
        'edit'  =>  ['name','age'],
    ];

}

验证器调用代码如下:

<?php
namespace app\controller;

use app\validate\UserValidate;
use superadminx\think_validate\exception\ValidateException;

class Index
{
    public function index()
    {
        try {
            think_validate(UserValidate::class)->check([
                'name'  => 'thinkphp',
                'email' => 'thinkphp@qq.com',
            ]);
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            var_dump($e->getError());
        }
    }
}

更多用法可以参考ThinkPHP开发手册的验证章节

特别说明

感谢 ThinkPHP,webman