繁体   English   中英

非模型错误的Mimick验证摘要

[英]Mimick ValidationSummary For Non-Model Errors

我见过开发人员“利用” ModelState.AddModelError()将错误消息添加到ModelState ,即使这些错误与当前请求模型的验证无关。

我的看法是,重定向应该执行完全独立的“错误”操作并查看以显示错误消息。 在那种情况下,将有一个专用的ErrorModel,类似于@Html.ValidationSummary呈现方式。

这就引出了一个问题:是否存在其他人惯用的“ ErrorModel”结构和/或采用该模型并在某种程度上模仿ValidationSummary提供的表示形式的流行库/函数?

我可以编写自己的ErrorModel和ValidationSummary代码(甚至可以复制MVC源代码),但是我更喜欢使用库或遵循其他在这种情况下使用的模式。

恕我直言,为此可以使用ValidationSummary,这是为什么:

有4个版本,其中两个很重要:

Html.ValidationSummary()
Html.ValidationSummary(bool)

第二个仅用于显示模型错误,而不是属性错误。 这意味着需要进行业务逻辑验证,例如“乔不能在星期一预约”。 第一个旨在显示模型错误和属性错误。

这是Pro ASP.NET MVC3框架的解释:

ValidationSummary帮助程序方法的一些重载使我们可以指定仅显示模型级错误。 到目前为止,我们在ModelState上注册的错误都是属性级错误,这意味着为给定属性提供的值存在问题,并且更改该值可以解决该问题。 相反,当两个或多个属性值之间的相互作用引起某些问题时,可以使用模型级错误。

所以基本上我会说:您做的很好,请不要打扰。 当然,除非您有特定原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM