【问题标题】:Asp.net MVC Validating Dynamic FormAsp.net MVC 验证动态表单
【发布时间】:2008-12-05 18:34:42
【问题描述】:
我正在构建一个带有需要验证的表单的 ASP.NET MVC 应用程序。大部分形式是静态的,但部分形式是动态的。
我需要让用户输入 n 个字符串/日期组合。
字符串/日期组合需要在服务器端进行验证,我需要直接在验证失败的组合旁边向用户提供反馈。
对于静态输入,我执行以下操作:
<%= Html.ValidationMessage("someField") %>
对于动态数据,我该怎么办?
【问题讨论】:
标签:
asp.net
asp.net-mvc
validation
【解决方案1】:
在您的控制器中,您需要将错误分配给验证失败的特定字段:
ModelState.AddModelError ("textbox1", "You must specify a valid string.");
ModelState.AddModelError ("combobox1", "You must specify a valid date.");
那么助手真正做的就是检查以下是否存在:
ViewData.ModelState.ContainsKey("textbox1")
然后创建如下标签
<span><%= ViewData.ModelState.ContainsKey("textbox1").Errors[0] %></span>
助手会进行更多的空值检查,但你明白了。