ตัวช่วยตรวจสอบข้อมูลในโมเดล
เพิ่มการตรวจสอบข้อมูลที่นำกลับมาใช้ใหม่ได้โดยตรงในโค้ด shared
ตัวช่วยตรวจสอบข้อมูลในโมเดล เป็นบทเรียน Kotlin Multiplatform Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Multiplatform Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
โมเดลตรวจสอบตัวเองได้
โมเดลควรรู้ว่าค่าที่ถูกต้องเป็นอย่างไร การเพิ่ม การตรวจสอบความถูกต้อง ลงในโค้ดที่ใช้ร่วมกันทำให้ทั้งสองแอปบังคับใช้กฎเดียวกัน
พร็อพเพอร์ตีที่คำนวณค่า
พร็อพเพอร์ตีที่คำนวณค่า จะคำนวณค่าจากฟิลด์ของโมเดล โดยทำงานทุกครั้งที่อ่านค่าและไม่เก็บสถานะไว้
data class User(val name: String) {
val isNamed: Boolean get() = name.isNotBlank()
}เปิดเผยแฟล็ก isValid
เพิ่มพร็อพเพอร์ตี isValid ให้โมเดล เพื่อรวมกฎทั้งหมดไว้เป็นค่าบูลีนเดียวที่ทั้งสองแอปเชื่อถือได้
val isValid: Boolean
get() = name.length in 2..30เพิ่มเมธอดตรวจสอบความถูกต้อง
ฟังก์ชัน ในโมเดลสามารถตรวจสอบเงื่อนไขและคืนผลลัพธ์ได้ ทำให้ตรรกะอยู่ใกล้กับข้อมูล
fun hasValidEmail(): Boolean =
email.contains("@")คืนข้อผิดพลาดที่เจาะจง
แทนที่จะคืนค่าบูลีนธรรมดา ให้คืนรายการ ข้อความ เพื่อให้ส่วนติดต่อผู้ใช้บอกผู้ใช้ได้อย่างชัดเจนว่าต้องแก้ไขอะไร
fun errors(): List<String> =
if (name.isBlank()) listOf("Name required") else emptyList()นำกลับมาใช้กับหลายฟิลด์
แยก ตัวช่วย ขนาดเล็กออกมา เพื่อให้หลายโมเดลใช้กฎเดียวกันได้ เช่น กฎตรวจสอบอีเมลหรือความยาวที่นำกลับมาใช้ซ้ำได้
fun String.isEmail(): Boolean = contains("@") && contains(".")ตรวจสอบความถูกต้องใน commonMain
เก็บกฎทุกข้อไว้ใน commonMain เพื่อให้ Android และ iOS ตรวจสอบเหมือนกัน และแบบฟอร์มของคุณไม่เกิดความขัดแย้ง
ตรวจสอบตอนสร้างด้วย init
บล็อก init ที่ใช้ร่วมกับ require สามารถปฏิเสธข้อมูลที่ไม่ถูกต้องได้ทันทีที่สร้างโมเดล ช่วยหยุดออบเจ็กต์ที่ไม่ถูกต้องตั้งแต่ต้น
init { require(name.isNotBlank()) { "Name required" } }รักษาการตรวจสอบให้บริสุทธิ์
การตรวจสอบควรอ่านเฉพาะฟิลด์และคืนผลลัพธ์เท่านั้น ห้ามแตะต้องส่วนติดต่อผู้ใช้หรือเครือข่าย กฎ ที่บริสุทธิ์จะนำไปใช้ได้หลายแพลตฟอร์มและทดสอบได้ง่าย
ทดสอบแบบหน่วยได้ง่าย
เนื่องจากตรรกะเป็น Kotlin ธรรมดา คุณจึง ทดสอบ เพียงครั้งเดียวใน commonTest และเชื่อถือผลลัพธ์ได้บนทุกแพลตฟอร์ม
เหตุผลที่เรื่องนี้สำคัญ
การตรวจสอบความถูกต้อง ที่ใช้ร่วมกันทำให้การเปลี่ยนกฎเกิดขึ้นเพียงจุดเดียวและมีผลกับทั้งสองแอปทันที 🙂
ตรวจสอบความเข้าใจ
การตรวจสอบความถูกต้องของโมเดลที่นำกลับมาใช้ซ้ำควรอยู่ที่ใด
สรุปทบทวน
เพิ่ม การตรวจสอบความถูกต้อง เป็นพร็อพเพอร์ตีที่คำนวณค่า เมธอด หรือการตรวจสอบใน init ที่ commonMain รักษาให้บริสุทธิ์ แล้วทั้งสองแอปจะบังคับใช้กฎเดียวกัน
เรียนรู้ Kotlin ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “ตัวช่วยตรวจสอบข้อมูลในโมเดล” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัวช่วยตรวจสอบข้อมูลในโมเดล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Multiplatform Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัวช่วยตรวจสอบข้อมูลในโมเดล”
เพิ่มการตรวจสอบข้อมูลที่นำกลับมาใช้ใหม่ได้โดยตรงในโค้ด shared คุณปฏิบัติ Kotlin Multiplatform Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Multiplatform Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Multiplatform Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ตัวช่วยตรวจสอบข้อมูลในโมเดล” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Multiplatform Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Multiplatform Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คลาสข้อมูลสำหรับโดเมนของคุณ
- Enum และคลาสปิดผนึกสำหรับสถานะ
- ความปลอดภัยของค่า null ในโมเดล shared
- ตัวช่วยตรวจสอบข้อมูลในโมเดล