我有一个客户 - >服务 - >服务器,架构,我想介绍验证。
我将dtos传递给服务并转换为服务器上的域对象。
假设用户输入了一个值,我需要针对数据库检查此值以查看它是否存在,如果是,则返回错误并突出显示该字段,我最好如何处理这个问题?
答案 0 :(得分:2)
这是一个非常复杂的主题,但有一些框架,如Rocky Lhotka's CSLA.NET和即将到来的Microsoft WCF RIA Services,试图抽象出在客户端和服务器上维护一致的验证规则集的一些挑战。真的没有银弹,我怀疑任何适合Stack Overflow响应的答案只会划伤表面,所以我只想指出那些可能会给你一些想法的框架。
您还需要查看.NET中的IDataErrorInfo接口,Windows窗体和WPF都可以使用该接口将业务对象中的错误传回UI。
答案 1 :(得分:2)
正如约什所提到的那样,没有灵丹妙药。 Here is the approach I used实现您对使用Enterprise Library Validation Application块的要求。它不是特别优雅(这仍然让我烦恼!)但它正在发挥作用。