gilmarsquinelato / FormKit_flutter

Boilerplate free form builder for Flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FormKit

Flutter forms made easy.


🚧 WARNING

This library is not stable yet!


Examples

  • Material Login Form link
  • Material SignUp Form link
  • All Material Fields link

Features

Validators

  • Async validators
  • Backpressure validation (throttling, debounce or none)
    • Custom timer duration
    • When defined in FormKit widget will serve as default for children fields
  • Custom validators
    • User custom validator
    • Validator composer
    • Required field
    • Equal to another field
    • Equal to value
    • Minimum length
    • Maximum length
    • Minimum value
    • Maximum value
    • RegExp
    • Email

Form fields

  • Custom user defined field
  • Material Fields
    • Text Field
    • Checkbox Field
    • Switch Field
    • Date Field
    • Date range Field
    • Time Field
    • Radio Field
    • Slider Field
    • Range Slider Field
    • Dropdown Field
  • Cupertino Fields
    • Text Field
    • Switch Field
    • Date Picker Field
    • Timer Picker Field
    • Picker Field
    • Slider Field
    • Segmented Control Field
    • Sliding Segmented Control Field

Form

  • All public interface accessible via context or key
  • Context based access: FormKit.of(context)
  • Key based access
  • Enable/Disable all children fields
  • Initial fields values: initialValues: {} -- (Map<String, dynamic?>())
  • Dynamically set the fields value: FormKit.of(context).setValues({}) or formKey.currentState.setValues({})
  • Trigger validation
  • Trigger validation respecting backpressure
  • Retrieve form errors
  • Retrieve form values
  • onSubmit callback
  • FormKitSubmitBuilder
  • FormKitShowBuilder

To do:

  • Complete example app
  • Unit tests
  • Implement all Material fields
  • Implement all Cupertino fields
  • Docs
  • CI
  • Publish

About

Boilerplate free form builder for Flutter

License:MIT License


Languages

Language:Dart 98.8%Language:HTML 0.6%Language:Swift 0.5%Language:Kotlin 0.1%Language:Objective-C 0.0%