我正在尝试使用 ASP.NET MVC 2 Preview 1 项目设置 xVal。我基本上遵循http://blog.codeville.net/2009/01/10/xval-a-validation-framework-for-aspnet-mvc/上的示例(到目前为止,仅限服务器端) .
我已经注释了一个 BlogPost 实体,这里是 Post 操作:
[HttpPost]
public ActionResult Index(BlogPost b)
{
try
{
_blogService.Insert(b);
}
catch (RulesException ex)
{
ex.AddModelStateErrors(ModelState, "");
}
return (View(b));
}
这是服务方法:
public void Insert(BlogPost post)
{
var errors = DataAnnotationsValidationRunner.GetErrors(post);
if(errors.Any())
{
throw new RulesException(errors);
}
_blogRepo.Insert(post);
}
(请注意,DataAnnotationsValidationRunner 是来自示例博客文章的逐字记录)。当我提交一个完全无效的 BlogPost 表单时,我得到了以下验证错误列表:
- 需要一个数值。
- 请输入标题
- 请输入发布日期
- 请输入一些内容
- 请输入标题
- 请输入发布日期
- 请输入一些内容
我什至不知道第一条消息的用途,但正如您所见,其他错误出现了两次。我究竟做错了什么?或者这是 MVC V2 的问题?