如何使用指示性添加唯一规则?
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 为错误消息和响应状态。我该怎么做?
Validator
的unique
方法会自动在数据库中搜索。我认为 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
没有等价物
我在我的项目中使用 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 为错误消息和响应状态。我该怎么做?
Validator
的unique
方法会自动在数据库中搜索。我认为 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