뷰 모델이 IValidatableObject를 구현하고 사용자 지정 유효성 검사를 추가 할 수있는 MVC의 확장 성 지점이 마음에 듭니다.
이 코드가 유일한 유효성 검사 논리가되도록 컨트롤러를 간결하게 유지하려고합니다.
if (!ModelState.IsValid)
return View(loginViewModel);
예를 들어, 로그인 뷰 모델은 IValidatableObject를 구현하고 생성자 삽입을 통해 ILoginValidator 객체를 가져옵니다.
public interface ILoginValidator
{
bool UserExists(string email);
bool IsLoginValid(string userName, string password);
}
뷰 모델에 인스턴스를 주입하는 Ninject는 실제로 일반적인 관행이 아니며 안티 패턴 일 수도 있습니까?
이것이 좋은 접근입니까? 더 좋은 것이 있습니까?