验证.在视图中?或服务图层
本文关键字:服务 图层 视图 验证 | 更新日期: 2023-09-27 17:56:09
我正在尝试弄清楚如何最好地为我的 mvc 项目进行验证。我想出了2种方法,但不确定哪种方式最好(如果有的话)
- 我的 MVC 控制器(或任何消耗我的服务层)中的基本验证和服务层中的业务逻辑。
在视图中完成验证后,将传递域对象,然后检查业务逻辑,然后保存到数据库中。
这意味着,如果我重用我的服务层,每个应用程序都必须为相同的东西编写验证(例如"名称"是必需的)。如果他们忘记这样做,那么服务层将崩溃。
- 所有验证都在服务层中完成。
这将提供一个评估点,并始终确保所有数据在保存到数据库之前都是正确的。
在我看来,这会产生很多开销,尽管在我看来。我将需要一个视图模型,然后获取视图模型并将其传输到数据传输对象,让它进入服务层并对其进行验证。
如果它有效,则将其映射到域对象并保存。
所有验证都应在后端实现,因为您无法控制最终用户浏览器上发生的情况。验证的最重要目标是保护系统的完整性。
由于您在视图中执行的任何验证都是重复的,因此请仅实现增强用户体验的验证(例如响应式设计、减少对服务器的调用等)。
仅在
视图中验证是麻烦制造者,因为基于Java脚本,专业用户检查并删除一些JavaScript代码。我在前端和后端验证我的项目。