gpt4 book ai didi

.net - MVC、ViewModel 和验证

转载 作者:行者123 更新时间:2023-12-04 23:31:29 27 4
gpt4 key购买 nike

我正在使用 POCO 创建带有 EF4 的 MVC3 应用程序。我已经向我的 EF 实体添加了验证属性。现在,当我构建 View 时,我想使用 View 模型(也许使用 AutoMapper 来填充它们)。

我遇到的问题是我必须在我的 View 模型上重新定义我的验证属性,这违反了 DRY 原则。例如,如果我决定更改字段的大小,则必须同时更改 POCO 和使用它的任何 View 模型的 MaxLength 属性。

是否有一些棘手的方法可以将验证规则从我的 POCO 映射到我的 View 模型?

最佳答案

我个人在 View 模型上执行验证。这是 Controller 从 View 接收的内容,它是包含用户输入的类。我区分了两种类型的验证规则:表面验证和业务验证。应在 View 模型中强制执行诸如必填字段、正确格式之类的规则,而应在模型上验证数据库中已存在的具有给定名称的用户等业务规则。

您也可以将不同的 View 模型映射到同一模型,但基于 View 验证规则可能会有所不同。因此,您在 View 模型上不会有完全相同的验证规则。

关于.net - MVC、ViewModel 和验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com