gpt4 book ai didi

asp.net-mvc - 流畅的验证、域和 View 模型

转载 作者:行者123 更新时间:2023-12-02 12:19:19 24 4
gpt4 key购买 nike

我一直在使用 asp.net mvc、nhibernate 和 ddd 概念开发 Web 应用程序。

我已经使用 Fluent Validation 为我的域类开发了验证,并且效果很好。好吧,现在,我需要一个 ViewModel 来编辑 View 中的实体,所以,我的问题是,我是否需要创建另一个验证类来验证我的 View 模型?或者我应该怎么做才能解决这种情况?

我问这个问题是因为我不想破坏 DRY(不要重复自己)的概念。

谢谢!

最佳答案

域级验证和 View 模型验证完全不同(尽管它们可能有很多重叠)。

例如,数据库中的某个字段可能完全可以为空,但需要在某些网络表单上输入它。在这种情况下,您将在模型验证中检查 null。

多个客户端应用程序共享相同的域 Controller (例如通过 WCF),但拥有不同的应用程序验证逻辑,这也是很正常的。

如果您在 View 模型中使用 DataAnnotations,您可以免费获得客户端 javascript 验证,因此作为一般规则,我总是有一个与我的 Domain 对象分开的 ViewModel,即使它是 1:1 映射 - 我只是使用 AutoMapper 在它们之间进行转换。除了获得客户端验证之外,它还减少了域验证中的困惑。

关于asp.net-mvc - 流畅的验证、域和 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6763902/

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