用于验证用户输入的实用工具,适用于任何 SwiftUI 架构。(以 MVVM 作为基本参考)
首先,您应该在您的 @Published
属性中定义验证 publisher
class FormViewModel: ObservableObject {
@Published var email = ""
public lazy var emailValidator: ValidationPublisher = {
$email.validateWithRegex(
regex: RegularPattern.email,
error: "Not email",
tableName: nil
)
}()
}
太棒了!然后,从您的 SwiftUI 输入中调用 validate view modifier
TextField("Should email", text: $viewModel.email)
.validate(for: viewModel.emailValidator)
尽情享受!
您可以将相同的步骤应用于 SecureField
和 Toggle
。
有用的验证 publisher 和正则表达式库的集合。 用于验证
CombineValidate 依赖于 Combine 响应式框架。最低要求:
通过 SPM 进行包安装。 在您的 Xcode 中添加包作为依赖项
查看这里并浏览文档。