配置
配置选项说明
{
lang: 'en',
locales: {
en: {
string: {
required: 'required',
},
},
},
chains: {
string: {
name: 'string',
transform: value => String(value)
},
},
context: {},
translate: (string, locale) => 'hello',
}
lang
语言环境。默认为 en
,目前支持 en
和 zh-cn
locales
自定义语言。
chains
验证链配置。每一个验证都是一个验证链,有时候,验证链本身也有一些行为,可以在这里定义。目前支持 transform
来提供默认的数据转换功能
上面的代码片段中,string 表示给 string
类型定义默认参数
context
上下文。一些情况下,可能需要在验证规则中获取应用的实例,比如 egg 中,我们很多数据库查询可能写在 service 中,而 service 又依赖于 ctx,ctx 极难获取,如果能够在应用启动时传递,将可以省下很大的麻烦。
在自定义验证中获取 context
acr.type('string')
.define('rule', (value, { context }) => {
// ...
});
translate
翻译。acr 只提供了少量的国际化支持,这个接口是用于自定义配置。一般我们都会在验证规则时自定义提示,因为通用的在某些场景下总会感觉很奇怪。
两个参数分别是 string
要翻译的字符串 和 lang
语言
Last updated