egg.js 中 validate 的最佳实践
想把所有规则都放一个文件里,但发现所有已定义的目录都是有相关功能的,总感觉放哪都不合适,最后直接在 app 同级目录下建了个 validate 目录里面创建一个文件来存放,如下:
exports.LOGIN = {
name: {
type: 'string',
require: true,
allowEmpty: false
},
password: {
type: 'string',
require: true,
allowEmpty: false
}
};
exports.ARTICLES = {
name: {
type: 'string',
require: true,
allowEmpty: false
},
password: {
type: 'string',
require: true,
allowEmpty: false
}
};
但这样子,这个文件改动并不会被监听,请问大家都是怎么搞的
7 回复
我直接放在对应的 controller 里面了,文件改动的话,应该想办法解决掉 require 的缓存实现热更新吧,我没试过,但是听说过
@mehunk 就是直接在对应的 controller 前面写是吧,暂时我也这样处理,用框架就是不想自己写太多开发过程的东西,所以热更新就不搞了。
@littledu 自动重启只需配置下 egg-development 的配置
@atian25 谢谢,看了下 egg-development 的配置,配了 watchDirs
可以了。
我都是封装 async-validator 来做校验
const data = await ctx.validate( 模型名/校验模型对象, ‘username, -loginIp, -password, email’ )
await ctx.model.User.create(user)
校验错误提示如何优雅的自定义中文或者国际化呢?