验证动态行

时间:2011-01-07 17:59:22

标签: asp.net-mvc-2 validation dynamic data-annotations

我已经构建了一个用于数据输入的Web应用程序(数据类型并不重要)。该站点的一部分允许用户动态添加数据行。对于静态输入字段,我使用DataAnnotations,以便我可以管理字段的验证。当我尝试为动态字段执行类似的操作时,验证似乎不起作用。

以下是我的应用程序的(常规)设置。

[Data Input Page] -> [Partial Page for Dynamic Table] -> [Table is made up of individual rows (partial page)]

每个页面都是强类型的。

以下是单个行的部分页面示例:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Models.Person>" %>

<tr>
<% using (Html.BeginCollectionItem("People")) { %>
    <td class="ui-widget-content"><%= Html.TextBoxFor(model => model.Name) %></td>
    <td class="ui-widget-content"><%= Html.TextBoxFor(model => model.Age) %></td>
    <td class="ui-widget-content"><%= Html.TextBoxFor(model => model.PhoneNumber) %>  

    // [Cut] Some other, unimportant information here which allows a new row to be added.
</tr>

// This portion is not working - it does work with static fields.
<div class="validation">
    <div><%: Html.ValidationMessageFor(model => model.Name)%></div>
    <div><%: Html.ValidationMessageFor(model => model.Age)%></div>
    <div><%: Html.ValidationMessageFor(model => model.PhoneNumber)%></div>
</div>

对于使用DataAnnotations进行验证的任何见解(因此它与我已经在做的相同/类似)将非常感激。

1 个答案:

答案 0 :(得分:1)

在这种情况下,史蒂夫桑德森blogged about validation