一个易于使用的 SwiftUI 库,用于处理一组 TextFields(文本框)。
struct ContentView: View {
@State var email: String = ""
@State var phone: String = ""
@State var emailFailedRules: [TextValidationRule] = []
var body: some View {
FormView {
ScrollView(.vertical) {
FormField(
"Email",
text: $email,
validationRules: [.email],
failedValidationRules: $emailFailedRules
)
if emailFailedRules.isEmpty == false {
Text("Email")
.foregroundColor(.red)
}
FormField(
"Phone",
text: $phone,
validationRules: [.digitsOnly],
inputRules: [.digitsOnly]
)
}
}
}
}
ValidationRules
用于在输入期间自动验证文本。所有未通过验证的规则都会出现在 failedValidationRules
中。
InputRules
用于防止不正确的输入。
您也可以使用 .formView()
修饰符代替 FormView
ScrollView(.vertical) {
...
}
.formView()
ExampleApp 提供了更多关于 FormView 的有趣用例。
Swift Package Manager 是一种用于自动化 Swift 代码分发的工具。
在 Xcode 14 或更高版本中,选择 File > Add Packages...
(文件 > 添加包...)。在搜索栏中,输入
https://github.com/maxial/FormView
然后继续安装。
您可以将 FormView 作为依赖项添加到 Package.swift
文件的 dependencies
值中
dependencies: [
.package(url: "https://github.com/maxial/FormView", from: "main"),
]
FormView 在 MIT 许可下发布。请参阅 LICENSE 了解详情。