如何在adonis/node.js中创建自定义验证器?
实际上,我的控制器中有一个函数如何在adonis/node.js中创建自定义验证器?,node.js,adonis.js,Node.js,Adonis.js,实际上,我的控制器中有一个函数store(){},可以进行多次验证,该验证返回特定于响应状态的,我想如果存在一种方法,我可以导入该验证并在create()方法之前进行测试 实际上,我的代码是: async store ({ request, response }) { const qt_options_menor_0 = this.verificaOptionsMenor0(request.body.qt_options) if(qt_options_menor_0){
store(){}
,可以进行多次验证,该验证返回特定于响应状态的,我想如果存在一种方法,我可以导入该验证并在create()
方法之前进行测试
实际上,我的代码是:
async store ({ request, response }) {
const qt_options_menor_0 = this.verificaOptionsMenor0(request.body.qt_options)
if(qt_options_menor_0){
return response
.status(406)
.json({ message: "Não é possível cadastrar quantidade de opções menor que 0" });
}
const qt_options_igual_0 = this.verificaOptionsIgual0(request.body.qt_options)
if(qt_options_igual_0)
return response
.status(406)
.json({ message: "Não é possível cadastrar quantidade de opções igual a 0" });
const parameter = {
...request.all(),
user_id: request.user_id
}
const parametroCriado = await Parameter.create(parameter)
return parametroCriado
}
verificaQtQuizSendIgual0(qt_quiz_send){
if(qt_quiz_send === 0){
return true
}else{
return false
}
}
verificaOptionsMenor0(qt_options){
if(qt_options < 0){
return true
}else{
return false
}
}
异步存储({request,response}){
const qt\u options\u menor\u 0=this.verificaoptions menor0(request.body.qt\u options)
if(qt\u选项\u菜单或\u 0){
返回响应
.现状(406)
.json({信息:“Nãoépossível地籍数量de opões menor que 0“});
}
const qt\u options\u igual\u 0=this.verificaOptionsIgual0(request.body.qt\u options)
如果(qt\u选项\u igual\u 0)
返回响应
.现状(406)
.json({信息:“Nãoépossível地籍数量de opões igual a 0”});
常数参数={
…请求.all(),
user\u id:request.user\u id
}
const parametroCriado=等待参数.create(参数)
返回参数
}
验证qtquizsendigual0(qt\u测试\u发送){
如果(qt_测验_发送===0){
返回真值
}否则{
返回错误
}
}
验证选项菜单0(qt_选项){
如果(qt_选项<0){
返回真值
}否则{
返回错误
}
}
这样我的控制器有很多代码,有更好的方法吗?您可以使用
比如:
验证程序文件
“严格使用”
类选项{
获取规则(){
返回{
//你的规则
}
}
获取消息(){
var antl=this.ctx.antl;
返回{
//自定义消息
}
}
异步失败(错误消息){
返回这个.ctx.response.status(406.json)({消息:“Nãoépossível地籍测量数据0”});
}
}
module.exports=选项
命令
>adonis make:验证程序选项
使用验证器-start/route.js
。。。
路线
...
.validator(“选项”)
当我使用:.validator(“MyValidator”)时,我收到:“未解析的函数或方法验证器(),你知道这方面的一些事情吗?这是我的代码:嗨,(我不知道这是否可行)试着将验证器
放在中间件
之前