gpt4 book ai didi

node.js - 我如何在 adonis/node.js 中制作自定义验证器?

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:42 25 4
gpt4 key购买 nike

实际上,我的 Controller 中有一个函数 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
}
}

这样我的 Controller 就有很多代码,有更好的方法吗?

最佳答案

您可以使用Adonis validator

喜欢:

验证器文件

'use strict'

class Option {
get rules() {
return {
// Your rules
}
}

get messages() {
var antl = this.ctx.antl;
return {
// Custom messages
}
}

async fails(errorMessages) {
return this.ctx.response.status(406).json({ message: "Não é possível cadastrar quantidade de opções menor que 0" });
}
}

module.exports = Option

命令

> adonis make:validator Option

使用验证器 - start/route.js

...
Route
...
.validator('Option')

关于node.js - 我如何在 adonis/node.js 中制作自定义验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59217389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com