พักหลังต้องเก็บรายละเอียดงาน ช่วงนี้ก็เลยมีทั้งแก้ไขโค้ดเก่าๆ ให้ทำงานเร็วขึ้น จากแต่ก่อนที่พอให้ทำงานได้ แล้วก็เก็บพวกฟอร์มต่างๆที่ใส่ตัวตรวจสอบก่อนที่จะส่งไปยังเซิร์ฟเวอร์ เพื่อไม่ให้ทำงานผิดพลาด (จริงๆก็ต้องใส่ทั้งสองฝั่งอะแหละ แต่ผมก็ทำทั้งสองฝั่งอ่ะนะ – -”) คราวนี้ก็เลยเขียนถึง Validator ใน Flex ซะหน่อย
ปกติแล้วเวลาจะใส่อะไรไปยัง Component อื่นก็จะจับมันยัดเข้าไปใต้ Tag ของ Component นั้นแต่ Validator เวลาใส่กลับต้องอยู่ด้านนอกสุดและไม่อยู่ใต้ Tag อะไร โดยจะมี property พื้นฐานบางอย่างที่มีเหมือนกันคือ
- source: คือตัวแปรที่จะเอาไว้ตรวจสอบ อาจจะเป็น object ทั้งก้อนเลยก็ได้
- property: ประเภทของ form ว่ารับมาเป็นอะไร ส่วนใหญ่แล้วจะเป็น text
- trigger: component ที่รอรับเหตุการณ์เตรียมตรวจสอบ
- triggerEvent: เมื่อเกิดเหตุการณ์ที่กำหนดใน property นี้จาก component ที่กำหนดใน trigger แล้วจะทำการตรวจสอบ
เช่น RegExpValidator
อันนี้คือผมไว้สำหรับตรวจว่า input ที่ใส่เข้ามาเป็น url หรือป่าว หากใครจะเอา regex ไปใช้ก็เอาไปได้เลย เพราะไปขุดมาจากอากู๋อีกทีเหมือนกัน ;p ด้านบน source ถูกกำหนดไปที่ TextInput ชื่อว่า tester เพื่อบอกว่าจะแสดงข้อความเตือนที่ไหน แล้วกำหนด property เป็น text เพราะ input ที่ใส่เข้ามาต้องเป็นตัวอักษรอยู่แล้ว ตามด้วย trigger ก็คือ tester เหมือนกัน เพื่อตรวจสอบว่าหากมีการกดคีย์บอร์ดทีนึงก็ให้ตรวจสอบทีนึงเลย โดยดูได้จาก triggerEvent ที่ดักไว้ที่ keyUp โดยหากต้องการตรวจสอบครั้งเดียวเมื่อกดคีย์ก็สามารถทำได้โดยเปลี่ยน trigger เป็นปุ่มซักปุ่มแล้วดัก mouseClick หรืออะไรพวกนี้แทน
สำหรับ Validator พื้นฐานต่างๆ ก็สามารถดูได้ที่ mx.validators package ยังขี้เกียจเขียนทีละตัว เนื่องจากท่าทางจะยาวT T”