2012-06-14 3 views
1

MVC3에서 반복 필드가있는 모델에 강하게 입력 된 뷰는 어떻게 처리합니까? 유효성 검사의 표준 MVC3 메서드를 사용하고 입력을 생성하기 위해 HTML 도우미 메서드를 사용하지만 HTML에서 입력 코딩을 손으로 쓰고 컨트롤러 메서드에서 params에 FormCollection을 사용해야합니다.MVC3 반복 필드가있는 모델

보기에서 이메일 [] 필드의 표시는 기본적으로 반복되는 텍스트 입력 입니다 (사용자가 버튼을 클릭하여 새 필드를 추가 할 수 있음). 기존 이메일 (업데이트보기)의 경우 ID와 주소 문자열을 전달해야합니다. 나는이 일을하고 있지만 전혀 느끼지 않습니다.

public class Email 
{ 
    public int EmailId 
    public string EmailAddress 
} 

public class Person 
{ 
    public int PersonId; 
    [Required(ErrorMessage = "First name is required")] 
    public string FirstName; 
    [Required(ErrorMessage = "Last name is required")] 
    public string LastName; 

    // how to handle this? 
    public Email[] EmailAddresses; 
} 
+0

내가 당신이 누락하고 바로 때문에 생각하지 않는 가정을 :하지만이 할 수있는 방법에 대해 설명 여러 블로그가 있습니다 선언적 유효성 검사? 자신의 유효성 검사 속성을 작성해야합니다. – bluevector

+0

필자가 작업 한 유일한 MVC3 프로젝트에는 모든 엔드 포인트에서 사용자 정의 유효성 검사기 모음이 있으며 모든 유효성 검사기는 해당 유효성 검사기와 UI 끝에서 발생한 모든 유효성 검사기로 유효성 검사를받습니다. – evanmcdonnal

+0

@jonnyGold - 유효성 검사를하고, 입력을 기록하고, 컨트롤러 메서드에 수동으로 인수를 전달하고 프레임 워크의 기능을 활용하지 않는다는 점에서 "나에게 맞는 느낌"이 없습니다. –

답변

1
+1

해당 기사 중 어느 것도 유효성 검사에 대해 언급하지 않습니다. [이 하나] (http://blog.stevensanderson.com/2010/01/28/validating-a-variable-length-list-aspnet-mvc-2-style/), 그래도. – bluevector