【问题标题】:How i can make custom validators in adonis /node.js?我如何在 adonis /node.js 中制作自定义验证器?
【发布时间】:2019-12-06 16:59:45
【问题描述】:

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

这样我的控制器有很多代码,有更好的方法吗?

【问题讨论】:

    标签: node.js adonis.js


    【解决方案1】:

    您可以使用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')
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-15
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多