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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未声明的类型'有效',没有这样的模块'验证'相关的知识,希望对你有一定的参考价值。

当我尝试键入时,我正在跟随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-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)

以上是关于未声明的类型'有效',没有这样的模块'验证'的主要内容,如果未能解决你的问题,请参考以下文章

c语言定义一维数组,元素未初始化,那数组元素默认值是啥

如何在Swift中声明计算属性'throws'?

使用声明[关闭]的未声明标识符'k'

引用类型''声明它在'System.Web'中定义,但无法找到它

matlab里,有没有函数直接求一个矢量的模

如何强制 PyCharm 警告未声明的类型?