저는 Entity Framework에 발을 들여 놓았습니다. 모델 바인딩없이 모델 상태를 검사 할 수있는 방법이 있는지 궁금합니다.모델 바인딩없이 modelstate를 확인할 수 있습니까?
주로 코드에서 사용자를 생성한다고 말하면 업데이트하기 전에 미리 정의 된 데이터 주석에 따라 유효한지 확인하는 방법이 있습니까?
public ActionResult Index()
{
User u = new User();
u.Username = "test";
u.Password = "test";
u.Email = "test";
DefaultContext db = new DefaultContext();
if (ModelState.IsValid)
{
db.Users.Add(u);
db.SaveChanges();
Response.Write(u.Id);
}
else
// model is not valid
return View();
}
위의 코드는 바인딩이 발생하지 않기 때문에 작동하지 않습니다. 아니면 그 과정을 혼란스럽게 생각할 수도 있습니다.
감사합니다.
내가 뭔가 새로운 내가 여기 올 때마다 배울 수 있습니다. ValidateModel() 함수를 알지 못했습니다 - ASP.Net MVC를 사용하는 경우 Jayantha의 대답도 정확하고 훨씬 쉽습니다. 내가 준 응답은 컨트롤러의 컨텍스트 외부에서 작동합니다. –
위의 코드는 폼을 제출하지 않고 모델을 검증 할 때 매우 잘 작동합니다.이 경우'TryValidateModel'은 실패합니다 :'모델이 유효성 검사 중일 때 적어도 하나의 양식 입력이 모델에 바인드 된 경우 모든 특성의 모든 유효성 검사기가 실행됩니다 속성 .' 여기에서 : https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryvalidatemodel(v=vs.118).aspx – Alex