-
18-09-2019 - |
题
我使用从链接文本一个的MVC验证库>。我选择了这个库,因为我也是用它产生的所有验证使用MS企业库验证块属性.NetTiers。
它正常工作,除了该模型结合被自动验证对象和填充验证摘要。我在正常的行为相信这一点。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
return View();
}
在验证库还具有被记录的方法如下:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
try
{
obj.Validate<NetTiersObject>();
}
catch (EntityValidationException ex)
{
ViewData.ModelState.PopulateWithErrors(ex);
}
return View();
}
此也能正常工作。
我的问题是,使用验证库的方法,当它复制的错误消息。如果只是用模型绑定错误消息出现奇怪。错误消息中具有属性名称。
所以,我想应该要么需要格式化模型绑定错误消息或禁用模型完全结合。
的任何建议,帮助?
感谢。
解决方案 2
我找到了答案,为什么我的ModelState是无效的。表单元素不匹配的模式,即,所述的ModelState将立即无效的唯一途径。
如果我发现更多的细节我会更新这个帖子。
其他提示
你有没有尝试:
/*At the Point the ModelState should be Valid(TRUE)
because we still didn't enforce any validations */
var v = ModelState.IsValid;
try
{
obj.Validate<NetTiersObject>();
}
catch (EntityValidationException ex)
{
ViewData.ModelState.PopulateWithErrors(ex);
}
和检查,如果v为真,应该是。
如果是真的,那么obj.Validate<NetTiersObject>();
做得不对,因为它的唯一填充错误重复。
我的问题是使用时 验证库的方法,它 复制的错误消息。什么时候 只是用模型绑定错误 消息出现奇怪。这些错误 有消息中的属性的名称。
它是奇怪的,因为modelBinding不应填充型号错误,如果你没有使用自定义的模型绑定或试图保存到数据库而无需验证领域至少。
不隶属于 StackOverflow