我相信在用户请求期间可能会发生两种类型的错误。
{1}:系统错误(异常、致命错误、警告、通知等)
{2}:用户控制错误(用户做错了什么,通常发生在验证期间)
通常报告{1}相对简单。大多数人只会显示错误页面或通知。{2}的情况不同。
Yii 和 Rails 以及其他一些框架提供了一个验证方案,您可以在其中为模型中的每个属性指定验证器。在验证期间,验证器将验证指定的属性并以映射形式报告错误:attributeName => 错误数组。
在应用程序中,服务层中的服务可能依赖于其他服务的逻辑和域模型的逻辑,因此其属性集和验证也可能依赖于这些外部服务和域模型。
例如,用户注册服务拥有“用户名”和“密码”属性,其逻辑规则可能依赖于用户验证用户名最大长度和密码最大长度的逻辑规则。
所以我的问题是,我们如何通过多层依赖来验证这些属性并将错误报告给用户。