ویجت Form

ویجت Form یک ظرف اختیاری جهت دسته بندی ویجت های مرتبط با جمع آوری اطلاعات است . توسط این ویجت فرآیند تنظیم مجدد (rest) و اعتبارسنجی (validate) بسیار سریع و راحت صورت می پذیرد . در این رابطه فقط کافیست که یک کلید GlobalKay تعریف و به فرم متصل نمایید و سپس توسط دستور GlobalKey.currentState به متد تنظیم مجدد یا اعتبارسنجی دسترسی خواهید داشت . قطعه کد زیر نمونه ای از پیاده سازی یک فرم را به نمایش گذاشته است :
- final _formKey = GlobalKey<FormState>();
- @override
- Widget build(BuildContext context) {
- return Form(
- key: _formKey,
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: <Widget>[
- TextFormField(
- decoration: const InputDecoration(
- hintText: 'Enter your email',
- ),
- validator: (value) {
- if (value.isEmpty) {
- return 'Please enter some text';
- }
- return null;
- },
- ),
- Padding(
- padding: const EdgeInsets.symmetric(vertical: 16.0),
- child: RaisedButton(
- onPressed: () {
- // Validate will return true if the form is valid, or false if
- // the form is invalid.
- if (_formKey.currentState.validate()) {
- // Process data.
- }
- },
- child: Text('Submit'),
- ),
- ),
- ],
- ),
- );
- }
در مثال فوق ابتدا یک کلید عمومی (GlobalKey) تعریف شده است (خط ۱) و سپس در خط ۶ کلید به ویجت Form متصل شده است . سپس در خط ۱۴ قابلیت اعتبارسنجی ویجت TextFormField فعال شده است و خط ۲۷ در رویداد onPressed ویجت RaisedButton نیز وضعیت اعتبار ویجت های داخل فرم بصورت یکجا مورد بررسی قرار گرفته است . در این لحظه اگر چند ویجت TextFormField در داخل فرم بود ، بصورت یکجا تمام آنها مورد اعتبارسنجی قرار می گرفتند .
خروجی کد فوق در تصویر زیر قابل رویت است :
جهت کسب اطلاعات بیشتر از این آدرس به سایت اصلی فلاتر مراجعه نمایید .
امیدوارم این مطلب برای شما مفید باشد .