ฉันชอบจุดที่เพิ่มความสามารถของ MVC ช่วยให้มุมมองแบบจำลองใช้ IValidatableObject และเพิ่มการตรวจสอบความถูกต้องที่กำหนดเอง
ฉันพยายามควบคุมให้ตัวควบคุมของฉันคงอยู่เพราะการใช้รหัสนี้เป็นเพียงตรรกะการตรวจสอบเท่านั้น:
if (!ModelState.IsValid)
return View(loginViewModel);
ตัวอย่างเช่นโมเดลมุมมองล็อกอินใช้ IValidatableObject รับวัตถุ ILoginValidator ผ่านการสร้างคอนสตรัค:
public interface ILoginValidator
{
bool UserExists(string email);
bool IsLoginValid(string userName, string password);
}
ดูเหมือนว่า Ninject การฉีดอินสแตนซ์ในมุมมองแบบจำลองไม่ใช่วิธีปฏิบัติทั่วไปจริง ๆ อาจเป็นรูปแบบการต่อต้านหรือไม่
นี่เป็นวิธีที่ดีหรือไม่? มีดีกว่าไหม