superadminx / think_validate
think_validate
v1.0.2
2025-09-11 03:46 UTC
Requires
- php: >=8.0
- symfony/translation: ^6.0
- topthink/think-container: >=3.0
- topthink/think-helper: ^3.1
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