---添加(编辑) -
您是否应该在服务层进行验证,即使您在前端进行验证?
例如struts有验证,所以你可以验证它。 (我不是指java脚本验证。)
-
您是否在服务层中使用了hibernate验证器或弹簧验证,即使您已经在前端进行了验证?
(前端验证不必是休眠或弹簧验证)
答案 0 :(得分:1)
一致的数据是Enterprice Applications中最重要的事情之一!
所以是的:您需要检查两次:在前端和服务层。
在我们的网络应用程序中,我们在不同级别进行不同的检查: (我不是在谈论不一致的检查,我说的是粒度和检查范围。)
IHO最好检查所有和所有地方,但这是不可能的。因此,您需要一个一致的策略来检查什么。此政策在很大程度上取决于您正在开发的应用程序类型。
答案 1 :(得分:0)
你的问题不够具体,即它不能解决单个问题(更多的是民意调查)。
要回答更具体的问题“你是否应该在服务层进行验证,即使你在前端进行验证?”,答案是绝对的。几乎所有的前端验证,特别是对于Web应用程序,都可以被绕过。您的服务应该实现适当的验证,以确保它们是一致的,不应该依赖于用户空间中的验证(如Javascript检查),因为它们很容易被击败。
更新:当决定在代码的前端(调度程序/控制器)和服务层之间进行验证时,我会说没有硬性规定。我可能会检查我们收到的输入在前端是否合理,并在服务层进行域级验证。
答案 2 :(得分:0)
我们将它与wicket结合使用作为fronend框架。您必须考虑需要分两步验证:
我们使用业务验证解决了问题,以便在wicket中进行验证。所以你不必两次编写代码。
答案 3 :(得分:0)
我强烈建议您使用Hibernate Validator并将所有验证保留在模型中。它很好地促进了Oops封装,因为该模型现在可以验证自己。