我有一些看起来很简单的东西不工作。ModelState总是有效
我有一个模型
public class Name: Entity
{
[StringLength(10), Required]
public virtual string Title { get; set; }
}
public class Customer: Entity
{
public virtual Name Name { get; set; }
}
视图模型
public class CustomerViweModel
{
public Customer Customer { get; set; }
}
视图
<% using(Html.BeginForm()) { %>
<%= Html.LabelFor(m => m.Customer.Name.Title)%>
<%= Html.TextBoxFor(m => m.Customer.Name.Title)%>
<button type="submit">Submit</button>
<% } %>
和控制器
[HttpPost]
public ActionResult Index([Bind(Prefix = "Customer")] Customer customer)
{
if(ModelState.IsValid)
Save
else
return View();
}
无论我输入什么标题(null或字符串> 10个字符),ModelState.IsValid始终为true。 Customer对象中的Title字段有一个值,所以数据正在被传递,但未被验证?
任何线索?
我的不好,我在视图中有一个文本框。 – 2010-04-17 17:08:45
那么,我刚刚尝试过这个例子,它按预期工作,验证错误显示标题属性。 – 2010-04-17 17:10:21