Τα περισσότερα apps έχουν φόρμες (σύνδεση, εγγραφή, εισαγωγή δεδομένων) που απαιτούν χειρισμό εισόδου χρήστη και επικύρωση. Το Flutter παρέχει Form, TextFormField, validators και controllers για τη δημιουργία και επικύρωση φορμών — απαραίτητα για οποιοδήποτε app με εισόδους χρήστη.
Form και TextFormField
final _formKey = GlobalKey<FormState>(); // a key to access the form's state
Form(
key: _formKey,
child: Column(children: [
TextFormField(
decoration: InputDecoration(labelText: 'Email'),
validator: (value) { // VALIDATION logic
if (value == null || value.isEmpty) return 'Email required';
if (!value.contains('@')) return 'Invalid email';
return null; // null = valid
},
),
ElevatedButton(
onPressed: () {
if (_formKey.currentState!.validate()) { // run all validators
// all fields valid → submit
}
},
child: Text('Submit'),
),
]),
)
