"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.
dependencies:
ezy_form: <latest_version>
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]
EzyFormWidget(
formGroup: form, /// form that declared above
builder: (context, model) {
///add form fields
}
)
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)
EzyFormConsumer(
builder:(context, form){
///
}
)
this allow you to access EzyFormWidget
that surrounds