현재 MVC 2 응용 프로그램의 유효성을 검사하기 위해 DataAnnotations를 사용하고 있습니다. 그러나, 나는 작은 문제에 부딪쳤다.MVC 유효성 검사 모델
현재 여러 가지 속성을 가진 User 유형의 개체가 있습니다. 모두 필수입니다.
public class User
{
[Required(ErrorMessage = "Username is required")]
public string Username { get; set; }
[Required(ErrorMessage = "Password is required")]
public string Password { get; set; }
[Required(ErrorMessage = "Email is required")]
public string Email { get; set; }
[Required(ErrorMessage = "First name is required")]
public string Firstname { get; set; }
[Required(ErrorMessage = "Last name is required")]
public string Lastname { get; set; }
}
가입시 이들은 모두 모델 바인더를 사용하여 매핑되며 모든 것이 잘 작동합니다. 그러나 "내 세부 정보 편집"페이지에서만 이름, 성 및 전자 메일 만 업데이트 할 수 있습니다. 보기가 다시 게시되고 모델 바인딩이 적용될 때마다 사용자 이름/비밀번호가 필수 입력란입니다. 이 시점에서 필요하지 않더라도. 나는이 문제를 얻으려면 두 가지 방법으로 생각하지 한 어느 것도 내가 적합합니다 (하지만 잘못 될 수 있음)
1 기분 : 사용자 정의 뷰 모델을 만듭니다. 이 작업은 정상적으로 수행되지만 모델 및 사용자 객체에 대한 중복 검증을 의미하는이 뷰 모델에 데이터 주석을 적용해야합니다.
2 : renderd보기의 모든 필드를 포함하고 다시 게시하십시오. 이것은 보안상의 위험을 안고 있으며, 실제로 복잡해 보이며 복잡한 뷰 모델로 확장되지 않습니다.
누구나이 상황에 대한 권장 사항을 권장 할 수 있습니까?
감사합니다. 귀하의 솔루션은 좋은 옵션이지만 1 : 1보기 : ViewModel 설정은 Jimmy Bogard의 게시물을 읽은 후 http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/06/29/에 게시되었습니다. how-we-do-mvc-view-models.aspx가 있습니다. – WDuffy