Kotlin Multiplatform Academy · บทเรียน

ตัวช่วยตรวจสอบข้อมูลในโมเดล

เพิ่มการตรวจสอบข้อมูลที่นำกลับมาใช้ใหม่ได้โดยตรงในโค้ด shared

บทเรียน 4 จาก 413 ขั้นตอน

ตัวช่วยตรวจสอบข้อมูลในโมเดล เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คลาสข้อมูลสำหรับโดเมนของคุณ
  2. Enum และคลาสปิดผนึกสำหรับสถานะ
  3. ความปลอดภัยของค่า null ในโมเดล shared
  4. ตัวช่วยตรวจสอบข้อมูลในโมเดล
← กลับไปที่ Kotlin Multiplatform Academy