What is Form?
Flutter provides a Form widget to create a form in which we can get the data from users. The form is widget acts as a container for grouping and validating multiple form fields. the form can contain TextFormField, buttons, text, images, and many more.
When creating the form, provide a GlobalKey. This uniquely identifies the Form and allows validation of the form in a later step. Inside this class, we define a global key as _formKey. This key holds a FormState and can use to retrieve the form widget.
What is TextFormField ?
The form widget uses child widget TextFormField to provide the users to enter the text field. This widget renders a material design text field and also allows us to display validation errors when they occur.
So, here we are creating an example of form validation with the use of TextFormField.
Now, let's start with an example we are doing step by step implementation for Form and TextFormField.
1. Create the Form widget with a global key.
Here we are creating a Form widget and column as a child widget. in the form, we will create a variable named _formKey type of GlobalKey<FormState> and set the global key in the given property Key in form.
2. Create TextFormField with validator property.
In this step, we are creating TextFormField for Email, Username, and Password. We are applying different types of validation in these three TextFormField.First is Email TextFormField in this we are validating if it contains "@" in the email id. The second is the username in this we are doing basic validation that isn't empty. In the third TextFormField, we are validating the Password in which we are giving the condition that the Password should be more than 6 characters.
3. Create a button to validate form fields and display validation errors.
In the last step in this, we are creating a button and on top of that, we are set the validations for TextFormField.For that we are creating one _submit() function and in that we are set the currentState like_formKey.currentState!.validate().After that we are going to save that state using _formKey.currentState!.save(). we are calling this function in ElevatedButton.
Comments
Post a Comment