Misalkan kita memodelkan formulir menggunakan DDD; formulir tersebut mungkin memiliki beberapa jenis aturan bisnis yang terkait dengannya - mungkin Anda perlu menentukan penghasilan jika Anda bukan pelajar, dan Anda diharuskan untuk mendaftarkan anak-anak Anda jika Anda mengindikasikan bahwa Anda sudah menikah. Dan jika Anda menentukan suatu negara, maka itu harus memiliki negara yang valid.
Apakah validasi semacam ini hidup di domain atau lapisan aplikasi? Beberapa masalah lain yang saya pertimbangkan:
Kerangka kerja tertentu, seperti Laravel, memberikan aturan validasi yang dapat memvalidasi input sebelum permintaan menyentuh controller. Apakah itu merusak DDD jika validasi dilakukan pada level itu?
Untuk kasus seperti menentukan apakah negara itu valid, biasanya saya hanya akan meminta tabel database dari semua negara di dunia. Namun, dalam DDD, ini kemungkinan (dari pemahaman saya) dilakukan pada lapisan domain. Apakah lapisan domain diizinkan untuk mengakses DB, atau haruskah saya menggunakan pencarian non-SQL untuk menentukan negara yang valid?
Apakah perlu untuk memvalidasi input pada aplikasi, dan lapisan domain?