【问题标题】:AdonisJS Validator throw error even when data is passed correctly即使正确传递数据,AdonisJS Validator 也会抛出错误
【发布时间】: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"
        }
    ]
}

我检查了数据到达请求正文没有问题,我不知道我是否做错了什么

【问题讨论】:

  • 您能提供请求的有效负载吗?

标签: node.js adonis.js


【解决方案1】:

routes.ts 上尝试使用 post 作为方法。

【讨论】:

  • 而不是添加“这应该工作......”作为答案提供了详细的答案,实际上会提供问题的答案。
猜你喜欢
  • 1970-01-01
  • 2020-04-15
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
相关资源
最近更新 更多