2011-06-14 5 views
1

관련 (하위 요소) 액터 모델 목록이있는 영화 모델의 세부 정보 페이지를 표시하고 있습니다.한 모델의 세부 정보를 볼 때 다른 모델의 유효성을 검사하려면 어떻게해야합니까?

액터 목록의 맨 아래에서 현재 무비와 관련된 새 액터를 빠르게 삽입 할 수있는 텍스트 상자를 렌더링하고 있습니다.

하지만 제출시 비어 있지 않으므로 (클라이언트 및 서버) 액터 이름의 텍스트 상자를 어떻게 검증 할 수 있습니까? 내가 Linq2SQL과 DataAnnotations 사용하고

:

[MetadataType(typeof(ActorValidation))] 
partial class Actor 
{ 
} 


public class ActorValidation 
{ 
    [Required(ErrorMessage = "You forgot the name.")] 
    public string Name{ get; set; } 
} 

이이 영화의 세부 사항에있는 양식이다보기 :

<% 
     Html.EnableClientValidation(); 
     using (Html.BeginForm("NewActor", "Movie")) 
     { 
    %> 
    <%= Html.Hidden("MovieId", Model.Id) %> 
    <%= Html.TextBox ("Name")%> 
    <%= Html.ValidationMessage("Name") %> 
    <br /> 
    <input type="submit" value="Add" /> 
    <% } %> 

답변

0

하나의 옵션은 별도의 부분으로 "새로운 배우"양식을 넣어하는 것입니다 Actor를 모델로 사용하는 View를 호출 한 다음 Html.RenderPartial을 호출하여 렌더링합니다. 그게 내가 할 수있는 일이야.

이것은 AJAX에서 특히 잘 작동합니다. 모델을 검증하고 실패시 유효성 검증 메소드를 사용하여 부분 뷰를 리턴 할 수 있기 때문입니다. 성공하면, 새로운 액터를 보여주는 부분 뷰를 리턴하고, "새로운 액터"폼의 새로운 인스턴스를 리턴 할 수 있습니다.

관련 문제