{"id":19832943,"url":"https://github.com/tinywan/webman-validate","last_synced_at":"2025-10-25T03:39:47.528Z","repository":{"id":41053887,"uuid":"460368865","full_name":"Tinywan/webman-validate","owner":"Tinywan","description":"the most awesome validation library for webman plugin","archived":false,"fork":false,"pushed_at":"2024-05-20T07:12:29.000Z","size":79,"stargazers_count":14,"open_issues_count":7,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-31T20:13:03.598Z","etag":null,"topics":["php","tinywan","validation","validation-library","validator","webman","webman-framework","workerman"],"latest_commit_sha":null,"homepage":"https://www.workerman.net/webman","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tinywan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-02-17T09:37:22.000Z","updated_at":"2024-05-20T07:11:53.000Z","dependencies_parsed_at":"2023-11-16T13:42:42.861Z","dependency_job_id":"eb3518a3-6b52-49b6-93f9-69bb42748a5b","html_url":"https://github.com/Tinywan/webman-validate","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":0.05882352941176472,"last_synced_commit":"50303fe5049fadbf1c629c54246881d0fc9d38cc"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinywan%2Fwebman-validate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinywan%2Fwebman-validate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinywan%2Fwebman-validate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinywan%2Fwebman-validate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tinywan","download_url":"https://codeload.github.com/Tinywan/webman-validate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224269111,"owners_count":17283630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","tinywan","validation","validation-library","validator","webman","webman-framework","workerman"],"created_at":"2024-11-12T11:39:04.450Z","updated_at":"2025-10-25T03:39:42.494Z","avatar_url":"https://github.com/Tinywan.png","language":"PHP","readme":"# Webman Validate 插件\n\n[![Latest Stable Version](http://poser.pugx.org/tinywan/validate/v)](https://packagist.org/packages/tinywan/validate)\n[![Total Downloads](http://poser.pugx.org/tinywan/validate/downloads)](https://packagist.org/packages/tinywan/validate)\n[![webman-event](https://img.shields.io/github/v/release/tinywan/validate?include_prereleases)]()\n[![webman-event](https://img.shields.io/badge/build-passing-brightgreen.svg)]()\n[![webman-event](https://img.shields.io/github/last-commit/tinywan/validate/main)]()\n[![webman-event](https://img.shields.io/github/v/tag/tinywan/validate?color=ff69b4)]()\n\n基于ThinkPHP6修改的可用于 [webman](https://www.workerman.net/doc/webman/) 的通用validate数据验证器。\n\n## 安装\n\n```shell\ncomposer require tinywan/validate\n```\n\n## 基础用法\n\n~~~php\n\u003c?php\nnamespace app\\index\\validate;\n\nuse Tinywan\\Validate\\Validate;\n\nclass UserValidate extends Validate\n{\n    protected array $rule =   [\n        'name'  =\u003e 'require|max:25',\n        'age'   =\u003e 'require|number|between:1,120',\n        'email' =\u003e 'require|email'\n    ];\n\n    protected array $message  =   [\n        'name.require' =\u003e '名称必须',\n        'name.max'     =\u003e '名称最多不能超过25个字符',\n        'age.require'   =\u003e '年龄必须是数字',\n        'age.number'   =\u003e '年龄必须是数字',\n        'age.between'  =\u003e '年龄只能在1-120之间',\n        'email.require'        =\u003e '邮箱必须是数字',\n        'email.email'        =\u003e '邮箱格式错误'\n    ];\n}\n~~~\n\n验证器调用代码如下：\n\n~~~php\n$data = [\n    'name'  =\u003e 'Tinywan',\n    'age'  =\u003e 24,\n    'email' =\u003e 'Tinywan@163.com'\n];\n$validate = new app\\index\\validate\\UserValidate;\n\nif (!$validate-\u003echeck($data)) {\n    var_dump($validate-\u003egetError());\n}\n~~~\n\n## 助手函数（推荐）\n\n```php\n$data = [\n    'name'  =\u003e 'Tinywan',\n    'age'  =\u003e 24,\n    'email' =\u003e 'Tinywan@163.com'\n];\nvalidate($data, \\app\\index\\validate\\UserValidate::class);\n```\n\u003e 验证错误会自动抛出异常\n\n## 使用面板Facade\n\n```php\n$validate = \\Tinywan\\Validate\\Facade\\Validate::rule('age', 'number|between:1,120')\n    -\u003erule([\n        'name'  =\u003e 'require|max:25',\n        'email' =\u003e 'email'\n    ]);\n$data = [\n    'name'  =\u003e 'tinywan',\n    'email' =\u003e 'tinywan@gmail.com'\n];\nif (!$validate-\u003echeck($data)) {\n    var_dump($validate-\u003egetError());\n}\n```\n\n更多用法可以参考6.0完全开发手册的[验证](https://www.kancloud.cn/manual/thinkphp6_0/1037623)章节\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinywan%2Fwebman-validate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinywan%2Fwebman-validate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinywan%2Fwebman-validate/lists"}