lua-resty-validation 项目教程
1. 项目目录结构及介绍
lua-resty-validation/
├── lib/
│ └── resty/
│ ├── validation.lua
│ └── validation/
│ ├── validators.lua
│ └── filters.lua
├── LICENSE
├── README.md
└── lua-resty-validation-dev-1.rockspec
目录结构说明
- lib/resty/validation.lua: 这是项目的主文件,包含了验证和过滤的核心逻辑。
- lib/resty/validation/validators.lua: 包含各种内置的验证器。
- lib/resty/validation/filters.lua: 包含各种内置的过滤器。
- LICENSE: 项目的许可证文件,采用BSD-2-Clause许可证。
- README.md: 项目的说明文档,包含项目的简介、使用示例和安装方法。
- lua-resty-validation-dev-1.rockspec: LuaRocks的包配置文件,用于通过LuaRocks安装项目。
2. 项目的启动文件介绍
项目的启动文件是 lib/resty/validation.lua
。这个文件是整个验证库的入口点,提供了验证和过滤的基本功能。你可以通过以下方式引入并使用它:
local validation = require "resty.validation"
主要功能
- 验证器: 提供了多种验证器,如
number
,string
,boolean
等。 - 过滤器: 提供了多种过滤器,如
tostring
,tonumber
,lower
,upper
等。 - 自定义验证器: 允许用户扩展验证库,添加自定义的验证器和过滤器。
3. 项目的配置文件介绍
项目没有专门的配置文件,所有的配置和扩展都是通过代码实现的。你可以通过以下方式扩展验证库:
validation.validators.capitalize = function(value)
return true, value:gsub("^%l", string.upper)
end
扩展验证器
你可以通过定义新的验证器函数来扩展验证库。例如,上面的代码定义了一个 capitalize
验证器,它会将字符串的首字母大写。
使用扩展验证器
local valid, e = validation.capitalize("abc")
-- valid = true, e = "Abc"
通过这种方式,你可以根据项目的需求灵活地扩展和配置验证库。