如何使用指示性添加唯一规则?

How can I add a Unique rule using indicative?

我在我的项目中使用 Indicative 来验证我的控制器,但是,Indicative 在 "Validation Rules" 中没有 "Unique" 规则,但是框架 Adonis 有一个规则调用 "unique" 这正是我需要的。

我的项目是用 Adonis 做的,但我更喜欢用 "Indicative" 而不是 "Validator" 在 Adonis 中,因为我认为直接在控制器中编写代码更容易和漂亮

  code: 'required|string|max:255',
  description: 'required|string|max:255|unique:tabela',
  authors: 'string|max:255',
  status: 'boolean',
  user_id: 'integer',
  created_at: [
    importValidate.validations.dateFormat(['YYYY-MM-DD HH:mm:ss'])
  ],
  updated_at: [
    importValidate.validations.dateFormat(['YYYY-MM-DD HH:mm:ss'])
  ]
}

在上面的示例中,我需要 "code" 为 "Unique" 并且 return 为错误消息和响应状态。我该怎么做?

Validatorunique方法会自动在数据库中搜索。我认为 Indicative

不可能做到

我提出这个解决方案(在你的控制器中):

const { validate } = use('Validator')

...

const rules = {
    code: 'unique:<table_name>,<field_name>'
}

const messages = {
    'code.unique': '...'
}

const validation = await validate({ code: ... }, rules, messages)

if (validation.fails()) {
    ...
}

要使用此命令,必须使用 Validator。我认为 Indicative

没有等价物