我正在尝试使用ASP.NET MVC 2 Preview 1项目设置xVal。我基本上是按照http://blog.codeville.net/2009/01/10/xval-a-validation-framework-for-aspnet-mvc/的例子(仅服务器端,到目前为止)。xVal错误消息出现两次
我已经注释一个博客帖子的实体,这里是邮政动作:
[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是逐字从例如博客文章)。当我提交一个完全无效的博文形式,我得到验证错误此列表:
- 的值是必需的。
- 请输入标题
- 请输入一个发布日期
- 请输入一些内容
- 请输入标题
- 请输入一个发布日期
- 请输入一些内容
我甚至不知道第一条消息的用途,但正如你所看到的,其他错误出现两次。我究竟做错了什么?或者这是MVC V2的问题?
是的,就是这样。哇,我其实并不认为注释的东西会很容易工作。无论如何,另一个错误是因为我没有设置Id值来使用私有集合(NHibernate POCO)。非常感谢! – 2009-08-10 01:19:22