Print
Details: Category: บทความ Flutter | Published: 16 March 2019 | Hits: 4701

อะไร ? คือ Validator 

Screen Shot 2562 02 10 at 071815

มาสเตอร์ มี TextFormField 2 อัน อันแรก มาสเตอร์ ต้องการใส่ Content ที่ เป็น Format Email และ Password จะต้องไม่ต่ำกว่า 6 ตัวอักษร จะต้องมี คลาส เก่งๆ หนึ่งตัวในการ ตรวจสอบให้

Screen Shot 2562 02 10 at 073459

ถ้าพบว่าสิ่งที่เรา กรองไปที่ TextFormField ไม่ถูกต้องตาม Format ที่เราคาดหวัง ให้ ขึ้นข้อความเตือนแบบนี้

Screen Shot 2562 02 10 at 065510

การทำ Validate จะใช้ GlobalKey ในการจัดการ

 Screen Shot 2562 02 10 at 054018

เราจะ Call validate เมธอดมาใช้งาน แบบนี้

Screen Shot 2562 02 10 at 071526

ที่ TextFormField จะเพิ่ม  validator ที่ รับค่าการกรอก TextFormField มาที่ value ครับ มาสเตอร์ if statement ดู contains ว่ามี @ ปนมาใน value หรือเปล่า

 Screen Shot 2562 02 10 at 071534

เช่นเดียวกับ Password จะ เช็คว่า ถ้านับจำนวนคำว่ามี ไม่ต่ำกว่า 6 ตัวอักษรนะ

Screen Shot 2562 02 10 at 071548

มาดูที่ Submin ที่ เมธอด submitButton เราจะ แสดงค่า formKey.currentState.validate ถ้า Content ที่อยู่ใน TextFormField ไม่ผิด จะแสดงผลเป็น True และ False ในผลทางตรงข้างกันครับ

 Screen Shot 2562 02 10 at 071815

มาลองทดสอบ

Screen Shot 2562 02 10 at 071832

ลองไม่กรองอะไร ? แต่กดปุ่ม Submit สังเกตุ จะมี  ข้อความแบบนี้

Screen Shot 2562 02 10 at 071826

 และ ที่ Console จะแสดงผล false แบบนี่ครับ

Screen Shot 2562 02 10 at 073459

หรือ ลองกรอกอะไร ? ที่ไม่เป็น Format Emai และ password แค่ 3 ตัวอักษร

Screen Shot 2562 02 10 at 073513

 ลองกรอก Email ตาม Format Email จะได้แบบนี้

 Screen Shot 2562 02 10 at 073523

และ กรอก  Password ให้ไม่ต่ำกว่า 6 ตัว

Screen Shot 2562 02 10 at 073541

สังเกตุ ค่าบน Console จะแสดงผล true เมื่อ Validate ถูกต้อง