在我们的应用程序中,有各种层次结构。服务层、DAO层和操作(struts应用)。数据从一层传递到另一层。
我们应该在哪里放置输入验证?例如,用户ID、电话号码来自UI界面,它们是强制性的。所以我们已经在客户端进行了验证。按照我的意见,这就是你需要的全部。不需要在其他任何地方进行验证。
但是我的一个同事认为,如果客户直接发送请求,怎么办?所以我们还需要在操作中添加验证。
现在,在DAO中,同一方法在某些其他操作中使用,而那里没有验证,或者说在服务层中,可能会被公开为Web服务,因此也应该有验证。
因此,他建议我们在所有地方都进行验证。但这对我来说没有意义。这是跨层的复制。
这个问题的理想解决方案是什么?例如,验证可能是简单的空值检查或某些复杂的验证。
我们应该在哪里放置输入验证?例如,用户ID、电话号码来自UI界面,它们是强制性的。所以我们已经在客户端进行了验证。按照我的意见,这就是你需要的全部。不需要在其他任何地方进行验证。
但是我的一个同事认为,如果客户直接发送请求,怎么办?所以我们还需要在操作中添加验证。
现在,在DAO中,同一方法在某些其他操作中使用,而那里没有验证,或者说在服务层中,可能会被公开为Web服务,因此也应该有验证。
因此,他建议我们在所有地方都进行验证。但这对我来说没有意义。这是跨层的复制。
这个问题的理想解决方案是什么?例如,验证可能是简单的空值检查或某些复杂的验证。