我不能 xVal验证 工作强类型的这个例子.

每个方法在xVal似乎想要一个前缀这不是用在处理强类型的这个例子.

我认为包含码类似于这样的:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<ContactForm>" %>
<%= Html.TextBox("firstName", Model.FirstName) %>

和下面的码在控制器:

try
{
    var theModel = form.ToModel();
    _contactRepository.Save(theModel);
}
catch (RulesException ex)
{
    ex.AddModelStateErrors(ModelState, string.Empty); // Passing string.Empty for prefix, since I don't use prefixes.
}

return View(form);

然而,上述代码不起作用。我当然错过了一些东西,但不知道是什么。这是我第一次使用xVal.

感谢任何的帮助!

有帮助吗?

解决方案

我认为这个问题是一个事实,即你不使用前缀。 如果调试ModelState中,你可以看到验证的东西像“.FirstName”虽然他们应该像‘名字’。因为那的客户端验证摘要和内容不显示这些验证错误消息。

我认为这是在XVAL的一个错误。

其他提示

艾德里安的观点,我们看不到如果使用DataAnnotations在你的视图模型,或者如果您使用的任何种类的军的描述 这篇文章 .你需要用一些东西喜欢的DataAnnotationsValidationRunner它提到执行验证上的每个酒店的视图模型规定的验证属性使用(例如,需要、范围等)。

基本步骤将是:

  1. 检索更新的强烈类型视图模型的形式。
  2. 通过这一模式给你 DataAnnotationsValidationRunner, 收集的任何错误的结果
  3. 如果有任何错误(ErrorInfo的对象),把他们作为一个 RulesException
  4. 抓住 RulesException 并添加验证的例外情况模型使用的例外的 AddModelStateErrors 方法
  5. 检查看看 ModelState.IsValid, ,如果不是,代表你看,感谢你处理异常现在将有错误开你的视图模型。你必须要确保有合适的 ValidationMessage html帮手的电话在的地方,也引用的联系的文章。

您发布到几乎没有足够简洁,我要弄清楚什么错,但你可以在的这个博客文章。文章还介绍了需要一步一步做的一切,所以这应该帮助你XVAL运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top