未声明的类型 'valid',没有这样的模块 'Validation'
undeclared type 'valid', no such module 'Validation'
当我尝试输入
时,我正在关注 Ray Wenderlich (https://videos.raywenderlich.com/screencasts/545-server-side-swift-with-vapor-basic-validation) 的屏幕截图(它没有可编译的项目)
let input: Valid<OnlyAlphanumeric> = try request.data["input"].validated()
编译器告诉我 Valid 不存在。我试着寻找这个,发现 Vapor 不再像这样进行验证,它使用在这里找到的不同行:
它们是:
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)
当我尝试输入
时,我正在关注 Ray Wenderlich (https://videos.raywenderlich.com/screencasts/545-server-side-swift-with-vapor-basic-validation) 的屏幕截图(它没有可编译的项目)let input: Valid<OnlyAlphanumeric> = try request.data["input"].validated()
编译器告诉我 Valid 不存在。我试着寻找这个,发现 Vapor 不再像这样进行验证,它使用在这里找到的不同行:
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)