【问题标题】:how to create a path and query validation in adonis5如何在adonis5中创建路径和查询验证
【发布时间】:2021-08-20 14:39:32
【问题描述】:

在 adonis5 中,我目前正在使用基于模式的验证,但这些验证仅适用于请求正文。我如何验证路径和查询参数验证

import { rules, schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'

class UserValidator {
    async createUser(ctx: HttpContextContract) {
        const createUserSchema = schema.create({
            firstName: schema.string({
                escape: true,
                trim: true,
            }, [
                rules.minLength(3),
            ]),
            lastName: schema.string({
                escape: true,
                trim: true
            }, [
                rules.minLength(3)
            ]),
            email: schema.string({}, [
                rules.email({
                    sanitize: true,
                    ignoreMaxLength: true,
                    domainSpecificValidation: true,
                }),
                rules.unique({
                    table: 'users',
                    column: 'email'
                })
            ]),
            password: schema.string({}, [
                rules.minLength(8)
            ])
        })
        await ctx.request.validate({
            schema: createUserSchema,
            messages: {
                'required': '{{field}} is required to create an account.',
                'minLength': '{{field}} must be atleast {{options.minLength}} characters',
                'unique': '{{field}} should be {{rule}}',
            }
        })
    }

【问题讨论】:

    标签: node.js validation frameworks adonis.js adonisjs-ace


    【解决方案1】:

    您可以在 schema.create({}) 函数下添加 params 对象。

    public schema = schema.create({
        params: schema.object().members({
          id: schema.string({escape: true, trim: true}, [
            rules.uuid({version: 4})
          ])
        })
    });
    

    参考:https://docs.adonisjs.com/guides/validator/introduction#validating-http-requests

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多