Skip to content

PowerSyncForm

PowerSyncForm<Values: FormValues>(
schema: ExtendedTable,
initialValues: Values? = nil,
mode: FormValidationMode = .onChange,
visibilityRules: FieldVisibilityRules = FieldVisibilityRules()
)
enum FormValidationMode {
case onChange // Validate on every change
case onBlur // Validate when field loses focus
case onSubmit // Validate only on submit
case onTouched // Validate once field is touched
}
var values: Values // Current form values
var errors: FormErrors // Form errors
var isValid: Bool // Is form valid?
var isDirty: Bool // Has form been modified?
var isSubmitting: Bool // Is form submitting?
var visibleFields: Set<String> // Currently visible fields
func binding(for field: String) -> Binding<String>?
func bindingWithBlur(for field: String) -> Binding<String>?
func intBinding(for field: String) -> Binding<String>?
func doubleBinding(for field: String) -> Binding<String>?
func boolBinding(for field: String) -> Binding<Bool>?
func setValue(_ value: Any?, for field: String)
func setValues(_ newValues: [String: Any])
func getValue(for field: String) -> Any?
func getValues() -> [String: Any]
func updateValues(_ newValues: [String: Any])
func setMode(_ newMode: FormValidationMode)
@discardableResult
func validate() -> Bool
func validateField(_ field: String)
func submit(handler: @escaping (Values) -> Void)
func submit(handler: @escaping (Values) async throws -> Void) async
func submit() -> Result<Values, FormErrors>
func handleSubmit(handler: @escaping (Values) -> Void)
func handleSubmit(handler: @escaping (Values) async throws -> Void) async
func watch(_ field: String) -> Any?
func watch(_ fields: [String]) -> [String: Any?]
func watchAll() -> [String: Any?]
func shouldShow(_ field: String) -> Bool
func loadFromPowerSync(
recordId: String,
service: GenericPowerSyncService,
fields: [String]? = nil
) async throws
func loadFromPowerSync(
recordId: String,
tableName: String,
userId: String,
fields: [String]? = nil
) async throws
func loadFromRecord(_ record: [String: Any])
func reset()
func reset(to newValues: Values)
func handleBlur(_ field: String)
func setMode(_ newMode: FormValidationMode)
func hasError(_ field: String) -> Bool
func getError(_ field: String) -> String?
func isTouched(_ field: String) -> Bool
func isBlurred(_ field: String) -> Bool