未声明的类型'有效',没有这样的模块'验证'

问题描述 投票:3回答:1

当我尝试键入时,我正在跟随Ray Wenderlich(https://videos.raywenderlich.com/screencasts/545-server-side-swift-with-vapor-basic-validation)(没有可编译的项目)的屏幕演员

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

并且编译器告诉我有效不存在。我试着寻找这个,发现Vapor不再像这样进行验证了,它使用了不同的行:https://stackoverflow.com/a/45363444/2305517

guard let input = req.data["input"]?.string else { throw SomeError }
try input.validated(by: OnlyAlphanumeric())

但是字符串没有一个名为validated的函数(by :)

我尝试导入验证但该模块不存在。

有没有办法现在完成教程?验证似乎根本不在Vapor代码中。

validation vapor
1个回答
4
投票

您需要将validation-provider包添加到您的项目中。您可以通过将包添加到Package.swift文件中的依赖关系数组来执行此操作:

对于Swift 3,你可以添加:

.Package(url: "https://github.com/vapor/validation-provider.git", majorVersion: 1)

在Swift 4中,它看起来像这样:

.package(url: "https://github.com/vapor/validation-provider.git", from: "1.0.0"),

然后运行vapor update,如果你使用Xcode,vapor xcode

然后,您可以将ValidationProvider导入到您需要的文件中。

确保将提供者添加到config

try config.addProvider(ValidationProvider.Provider.self)
© www.soinside.com 2019 - 2024. All rights reserved.