),
)
],
),
);
...
Quruvchiga alohida e'tibor bering RaisedButton ni ko'rsatish uchun ishlatiladigan vidjet . Biz ko'rganimizdek oldin, the meros qilib olingan vidjet mumkin bo'l qaradi ustiga the daraxt. O'ylab ko'ring the quyidagi RaisedButton -dan foydalanish to'g'ridan-to'g'ri Ustunda vidjet, quyidagicha:
Ustun( bolalar: [
// ... boshqa bolalar, olib tashlandi uchun qisqalik TextFormField(),
Ko'tarilgan tugma ( bosilganda: () {
chop etish ("Ishlayapti tasdiqlash");
final yaroqli = Shakl.of(kontekst).validate(); // bu bo'lardi emas ish
// (noto'g'ri kontekst)
chop etish ("haqiqiy: $valid");
},
bola: Matn("tasdiqlash"),
)
],
...
Qachon biz foydalanish Shakl.of(kontekst) , biz o'tish the joriy vidjet kontekst. In the oldingi misol, onPressed -da ishlatilgan kontekst qayta qo'ng'iroq bo'ladi
the InputFormInheritedStateExamplesVidget kontekst, va shunday, qarab yuqoriga the daraxt Shaklni muvaffaqiyatli topa olmaydi vidjet. Builder yordamida vidjet, biz uning tuzilishini qayta qo'ng'iroq qilish uchun topshiramiz, bu safar to'g'ri kontekstdan (bola) foydalanib, va u daraxtni qidirganda, u FormState -ni muvaffaqiyatli topadi. misol.
Kiritilgan (shakllar) tasdiqlanmoqda
Ishlov berish bir nechta FormField vidjetlar hisoblanadi OK qachon gapirish haqida oz qiymatlar, lekin qachon ma'lumotlar miqdori o'sib boradi, ularni ekranda tartibga solish, hamma narsani to'g'ri tekshirish va foydalanuvchining fikr-mulohazalarini tezda taqdim etish qiyinlashishi mumkin. Shuning uchun Flutter formani taqdim etadi vidjet.
Tasdiqlanmoqda foydalanuvchi kiritish hisoblanadi bitta ning the asosiy funktsiyalari ning the Shakl vidjet. In buyurtma uchun qilish ma'lumotlar kiritish kirgan tomonidan the foydalanuvchi izchil, bu hisoblanadi asosiy uchun tekshirish bu, kabi the foydalanuvchi Ehtimol, barcha ruxsat etilgan qiymatlarni bilmaydi.
Shakl _ FormField bilan birlashtirilgan vidjet misollar, ishlab chiquvchiga mos keladigan narsani ko'rsatishga yordam beradi xato xabar agar biroz kiritish qiymatlar kerak uchun bo'l tuzatilgan oldin tejash the ma'lumotlarni saqlash() orqali shakllantiring funktsiyasi.
Biz allaqachon bor ko'rgan, ichida the oldingi Shakl misollar, Qanday uchun tasdiqlash the Shakl maydon qiymatlari:
Yaratmoq a Shakl vidjet bilan a FormField yoqilgan bu.
Aniqlash the tasdiqlash mantiq yoqilgan har biri FormField tasdiqlovchi mulk:
TextFormField(
tasdiqlovchi: (String qiymati) {
qaytish value.isEmpty ? "The qiymat mumkin emas bo'l bo'sh" : null;
},
)
Qo'ng'iroq validate() FormState - da kaliti yoki Form.of yordamida usuli muhokama qilindi avval. Bu bo'ladi qo'ng'iroq qiling har biri bola FormField validate() usuli va qaerda tekshirish muvaffaqiyatli bo'lsa, u qaytadi rost va yolg'on aks holda.
validate() qaytadi a bool shunday biz mumkin manipulyatsiya qilish uning natija va qil bizning unga asoslangan mantiq.
Do'stlaringiz bilan baham: |