1.在app/router.ts添加请求
///register路径 controller.user.create:需要执行的方法名
router.post('/register', controller.user.create);
2.下载egg-validate
npm i egg-validate --save
3.开启egg-validate
在config/plugin.ts中添加
// 开启前端数据校验
validate: {
enable: true,
package: 'egg-validate',
},
4.自定义校验方法
在app目录下新建validate目录
在validate目录下创建自定义校验ts文件:normalUserRule.ts
export default {
//用户名 类型为string ,trim:true去除空格,长度最小为6
username: {
type: 'string',
trim: true,
min: 6,
},
};
5.在controller目录下新建user.ts
import { Controller } from 'egg';
import NormalUserRule from '../validate/normalUserRule';
export default class UserController extends Controller {
public async create() {
const { ctx } = this;
const data = ctx.request.body;
try {
ctx.validate(NormalUserRule, data);
ctx.body = '注册';
} catch (e) {
console.log(e);
}
}
}
6.关闭CSRF安全校验
config/config.local.ts 开发模式
原因:我们使用postman提交表单数据,会被CSRF安全拦截,所以我们在开发的时候关闭CSRF
// 禁用CSRF安全校验
config.security = {
csrf: {
enable: false,
},
};
7.提交表单