2011-06-14 73 views
1

我正在显示Movie模型的详细信息页面,其中包含相关(子元素)Actor模型的列表。查看某个型号的详细信息时,如何验证其他型号?

在Actor列表的底部,我正在渲染一个文本框,以便快速插入与当前Movie相关的新Actor,并且此工作正常。

但是,如何验证(客户端和服务器)演员名称的文本框,以便在提交时不为空?

我使用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作为模型的视图,然后调用Html.RenderPartial来渲染它。这就是我要做的。

这对AJAX非常有效,因为您可以验证模型并返回带有失败时启用的验证方法的部分视图。成功后,您可以返回一个显示新演员的部分视图,然后返回新演员表格的新实例。

相关问题