Ezy Form - handle form in flutter with ease
Features
"Ezy Form" is a Flutter package designed to simplify the handling of forms within Flutter applications. It offers a streamlined and efficient approach to form management, including features such as form validation, data input handling, error reporting, and state management. This package allows developers to create interactive and dynamic forms easily and efficiently.
Installing and import the library:
dependencies:
ezy_form: <latest_version>
Usage
declare a form
final form = FormGroup({
'name': FormControl<String>(null, validators: [requiredValidator]),
'email': FormControl<String>(null, validators: [requiredValidator]),
'gender': FormControl<String>(null, validators: [requiredValidator]),
'agreed': FormControl<bool>(false, validators: [requiredTrueValidator]),
'tags': FormArrayControl<String>(null, validators: [requiredValidator]),
'info': FormGroup({
'firstName': FormControl<String>(null, validators: [requiredValidator]),
'lastName': FormControl<String>(null, validators: [requiredValidator]),
}),
});
note that all FormControl or FormArrayControl must be placed within FormGroup
render form widget
EzyFormWidget(
formGroup: form, /// form that declared above
builder: (context, model) {
///add form fields
}
)
render each field
EzyFormControl<String>(
formControlName: 'email',
builder: (context, control) => TextField(
onChanged: (value) => control.setValue(value),
decoration: InputDecoration(
labelText: 'Email',
errorText: control.valid ? null : 'Email is required',
),
)
)
EzyFormArrayControl<String>(
formControlName: 'tags',
builder: (context, arrayControl) => Column()
)
in form array you can call arrayControl.add()
to add child FormControl into the array (more in example)
consumer a form in other place
EzyFormConsumer(
builder:(context, form){
///
}
)
this allow you to access EzyFormWidget
that surrounds
Libraries
- ezy_form
- Easy Form - handle form in flutter with ease