node.js - 如何使用指示性添加唯一规则?
问题描述
我在我的项目中使用 Indicative 来验证我的控制器,但是,Indicative 在“验证规则”中没有“唯一”规则,但框架 Adonis 有一个称为“唯一”的规则,它完全符合我的需要。
我的项目是用 Adonis 制作的,但我更喜欢在 Adonis 中使用“指示性”而不是“验证器”,因为我认为直接在 Controller 中编写代码更简单美观
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'])
]
}
在上面的示例中,我需要“代码”为“唯一”并返回错误消息和响应状态。我怎样才能做到这一点?
解决方案
的unique
方法Validator
会自动在数据库中搜索。我认为不可能做到这一点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
推荐阅读
- r - 在闪亮的上下文之外创建一个反应性和可记忆的函数
- windows - 文件路径中的单个点是什么意思?
- java - 在 Java 中每秒将一个 int 从 10 减少到 0
- python - Flask-restplus 返回元帅模型而不是数据
- airflow - Airflow SFTPHook - 找不到主机的主机密钥
- android - Recyclerview适配器在Viewpager中片段的onResume方法内不起作用
- android - 活动更改后如何获取当前活动
- javascript - 如何在 Child 构造函数 Javascript ES6 类中调用 Parent 方法?
- revit-api - 通过 Selection.SetElementIds 将选择修改为第一个元素
- javascript - 如何将 MySQL 数据库连接到 ReactJS 应用程序?