我有一个超过两层深度的对象图。它表示具有子孙的实体(聚合):
A → B → C
我想在图表的所有级别上进行验证。我知道我可以在使用重载或使用规则验证B时访问A。我还没有弄清楚如何使用这两种技术从C的验证器访问A因为似乎没有上下文。Must()
Custom()
我能够做我想做的唯一方法是创建一个新的对象,它是一个扁平的表示。换句话说,创建一个将A和C放在同一级别的包装器,这允许我使用CMust()
上的重载来到达伪父Wrapper上的A。
Wrapper → A → B → C
→ C
问题是我必须创建另一个验证器(在这种情况下为Wrapper )。我更愿意将我对特定事物的所有验证逻辑放在一起。
还有其他方法吗?