0
我有一个由2个部分视图加上页面中已有内容组成的视图。我希望每个视图都有一个验证摘要。一切工作正常,除了当其中一个部分出现错误时,消息会显示在每个验证摘要中,因此它在页面中出现3次。我想解决这个问题。链接到它自己的部分视图的每个验证摘要
我在网上查了一下,看到有一种方法可以做到这一点是这样的:
var SecurityQuestionsErrors = ViewData.ModelState.Where(ms => ms.Key == "SecurityQuestions");
if (SecurityQuestionsErrors.Count()>0)
{
@Html.ValidationSummary("", new { @class = "" })
}
所以我有这样的代码在每一个局部视图以查看该错误是这一个特别。
当错误来自控制器(我可以添加一个关键我自己,它工作正常):
catch (FaultException<IncorrectQuestionFault>)
{
// question is incorect
ModelState.AddModelError("SecurityQuestions", Resources.errors.incorrectQuestion);
}
但是,当错误来自视图模型它不添加拧钥匙,IM ..
[Required(ErrorMessageResourceName = "IsRequired", ErrorMessageResourceType = typeof(Resources.errors))]
[StringLength(40, MinimumLength = 7, ErrorMessageResourceName = "NotLongEnough", ErrorMessageResourceType = typeof(Resources.errors))]
[Display(Order = 0, Name = "question", ResourceType = typeof(Resources.errors))]
public string question{ get; set; }
所以我的问题是:我在做这个好方法吗?有没有办法给ViewModel的错误添加一个键?我应该以另一种方式来做这件事吗?
所有帮助表示赞赏:d
我正在这样做因为我想在每个视图的相同位置都有所有错误,并且每个文本框附近都没有错误。错误是法国的,但我想你可以得到的想法http://prntscr.com/d4dltg 我要回到控制器,因为该应用程序背后的Web服务引发故障,这是我需要的地方抓住他们^^。视图模型验证输入内容的格式,但Web服务验证数据本身。 – Helpha
@Helpha我想我的更新答案将解决你正在努力完成的任务。 – Robert