假设你有一个应用程序,采用领域模型模式、DDD和许多其他设计模式。我们假设我们有以下几个解决方案:
需要考虑以下几点: 首先,我们不应该必须连接应用程序/数据库服务器以向客户端返回任何验证错误,但是我们也可以实现服务器端验证,但是我们还需要客户端验证。 其次,我们不想在用户体验层上实现验证规则。这是因为如果您的应用程序是WebApp,然后您决定创建WinApp客户端,您必须重新实现验证规则-->维护噩梦。
一种简单的方法是在你的ViewModel对象中实现验证逻辑(领域实体的扁平视图,将发送给客户端),然后在连接应用程序/数据库服务器之前对这些对象进行验证。
另一种方法是,我在不同的应用程序中多次看到的方法,只是生成一个验证错误消息的集合并将该集合发送到客户端。这很好,但有一个问题。仅使用验证错误的简单摘要消息是不够的,特别是如果您有大型数据输入表单。
现在,ASP.NET MVC框架使生活更加轻松。您可以使用EF + DataAnnotations,MVC Scaffolding框架可以为您完成大部分工作。但是,如果您想创建MVC应用程序并使用jQuery和JavaScript实现验证逻辑,那么这种情况就是这样。
但是,如果您需要一种更通用的方法来实现可在不同应用程序中利用和使用的验证框架,例如WinForms和WebForms,该怎么办呢?
只是为了澄清,我正在寻找一组设计模式/原则和/或技术/框架来实现验证框架,该框架可以在您的领域模型中实现,然后强制执行在您的客户端应用程序中。而且,我不仅想返回一组关于破坏规则或任何内容的字符串错误消息集合,我还想能够在验证失败时更新我的数据绑定控件(TextBox、ComboBox、DateTimePicker等),以便用户体验层更加直观(如果您愿意)。
我已经看到了一些实现和框架,在此处和那里都有所使用,并且我已经使用ASP.NET MVC客户端验证一段时间了,因此我的答案与MVC或JavaScript验证无关。
- Solution.Model
- Solution.Repository
- Solution.Services
- Solution.Presentation
- Solution.UI.Web
需要考虑以下几点: 首先,我们不应该必须连接应用程序/数据库服务器以向客户端返回任何验证错误,但是我们也可以实现服务器端验证,但是我们还需要客户端验证。 其次,我们不想在用户体验层上实现验证规则。这是因为如果您的应用程序是WebApp,然后您决定创建WinApp客户端,您必须重新实现验证规则-->维护噩梦。
一种简单的方法是在你的ViewModel对象中实现验证逻辑(领域实体的扁平视图,将发送给客户端),然后在连接应用程序/数据库服务器之前对这些对象进行验证。
另一种方法是,我在不同的应用程序中多次看到的方法,只是生成一个验证错误消息的集合并将该集合发送到客户端。这很好,但有一个问题。仅使用验证错误的简单摘要消息是不够的,特别是如果您有大型数据输入表单。
现在,ASP.NET MVC框架使生活更加轻松。您可以使用EF + DataAnnotations,MVC Scaffolding框架可以为您完成大部分工作。但是,如果您想创建MVC应用程序并使用jQuery和JavaScript实现验证逻辑,那么这种情况就是这样。
但是,如果您需要一种更通用的方法来实现可在不同应用程序中利用和使用的验证框架,例如WinForms和WebForms,该怎么办呢?
只是为了澄清,我正在寻找一组设计模式/原则和/或技术/框架来实现验证框架,该框架可以在您的领域模型中实现,然后强制执行在您的客户端应用程序中。而且,我不仅想返回一组关于破坏规则或任何内容的字符串错误消息集合,我还想能够在验证失败时更新我的数据绑定控件(TextBox、ComboBox、DateTimePicker等),以便用户体验层更加直观(如果您愿意)。
我已经看到了一些实现和框架,在此处和那里都有所使用,并且我已经使用ASP.NET MVC客户端验证一段时间了,因此我的答案与MVC或JavaScript验证无关。