【发布时间】:2021-11-03 19:06:20
【问题描述】:
我的验证类如下所示:
export default class CreateUserValidator {
constructor(protected ctx: HttpContextContract) {}
public schema = schema.create({
username: schema.string({}, [
rules.alpha(),
rules.unique({ table: 'users', column: 'username' }),
]),
email: schema.string({}, [rules.email(), rules.unique({ table: 'users', column: 'email' })]),
password: schema.string({}),
rol: schema.enum([Rol.MANAGER, Rol.SUPERUSER, Rol.WORKER]),
})
public messages = {}
}
这是我的用户控制器
export default class UsersController {
public async store(ctx: HttpContextContract) {
console.log(ctx.request.body())
await ctx.request.validate(CreateUserValidator)
const user = new User()
await user
.fill({
email: ctx.request.input('email'),
username: ctx.request.input('username'),
password: ctx.request.input('password'),
rol: ctx.request.input('rol'),
})
.save()
console.log(user.$isPersisted)
return {
done: true,
}
}
}
问题是,即使我按要求传递了所有数据,它也会不断响应
{
"errors": [
{
"rule": "required",
"field": "username",
"message": "required validation failed"
},
{
"rule": "required",
"field": "email",
"message": "required validation failed"
},
{
"rule": "required",
"field": "password",
"message": "required validation failed"
},
{
"rule": "required",
"field": "rol",
"message": "required validation failed"
}
]
}
我检查了数据到达请求正文没有问题,我不知道我是否做错了什么
【问题讨论】:
-
您能提供请求的有效负载吗?