gpt4 book ai didi

validation - Vapor 2 验证有效类型抛出 "Use of undeclared type Valid"

转载 作者:行者123 更新时间:2023-12-01 03:21:31 25 4
gpt4 key购买 nike

我尝试使用 Vapor 2 Valid Type,但编译器只说:“使用未声明的类型 Valid”。

我读过:https://docs.vapor.codes/2.0/validation/package/ + https://docs.vapor.codes/2.0/validation/overview/

在我的 Package.swift 中,我定义了

  • /vapor/vapor.git
  • /vapor/validation-provider.git
  • /fluent-provider.git

  • 作为依赖。

    如果我尝试使用 Valid<SomeValidator>编译器说:“使用未声明的类型有效”。
    import Validation的使用对比 import VaporValidation没什么区别。

    有没有人知道如何让 Valid 工作?

    感谢您的帮助。

    编辑:
    我创建了一个新的 Vapor 项目 vapor new validtest --api .

    编辑 Package.swift:
    import PackageDescription

    let package = Package(
    name: "validtest",
    targets: [
    Target(name: "App"),
    Target(name: "Run", dependencies: ["App"]),
    ],
    dependencies: [
    .Package(url: "https://github.com/vapor/vapor.git", majorVersion: 2),
    .Package(url: "https://github.com/vapor/validation.git", majorVersion: 1),
    .Package(url: "https://github.com/vapor/validation-provider.git", majorVersion: 1),
    .Package(url: "https://github.com/vapor/fluent-provider.git", majorVersion: 1)
    ],
    exclude: [
    "Config",
    "Database",
    "Localization",
    "Public",
    "Resources",
    ]
    )

    vapor fetchvapor xcode .

    在示例代码的 Routes.swift 中,我尝试了以下操作:
    import Vapor
    import FluentProvider
    import Validation
    // or and both imports are tested
    import VaporValidation

    extension Droplet {
    func setupRoutes() throws {
    get("info") { req in

    let input: Valid<OnlyAlphanumeric> = try req.data["input"].validated()

    无论我使用哪个导入,编译器总是说:“使用未声明的类型有效”。

    最佳答案

    代替

    let input: Valid<OnlyAlphanumeric> = try req.data["input"].validated()

    Vapor 2 的验证用途
    guard let input = req.data["input"]?.string else { throw SomeError }
    try input.validated(by: OnlyAlphanumeric())

    如果输入字符串无效,则返回 ValidationError会被抛出。

    关于validation - Vapor 2 验证有效类型抛出 "Use of undeclared type Valid",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44762706/

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