Görünüm modellerinin IValidatableObject uygulamak ve özel doğrulama eklemek için izin MVC genişletilebilirlik noktasını seviyorum.
Bu kod tek doğrulama mantığı olması, Denetleyicilerim yalın tutmaya çalışın:
if (!ModelState.IsValid)
return View(loginViewModel);
Örneğin, bir giriş görünümü modeli IValidatableObject uygular, yapıcı enjeksiyonu yoluyla ILoginValidator nesnesini alır:
public interface ILoginValidator
{
bool UserExists(string email);
bool IsLoginValid(string userName, string password);
}
Görünüşe göre, görünüm modellerine örnek enjekte etmek Ninject gerçekten yaygın bir uygulama değil, hatta bir anti-desen olabilir mi?
Bu iyi bir yaklaşım mı? Daha iyisi var mı?