2009-04-23 81 views
1

昨天我听了this herding code podcast on MVC, MVP, MVVM的消息,并且感觉到将整个ViewModel对象发送给一个验证器,该验证器除了验证其中的所有字段并将其发回外。如何验证MVVM模式中ViewModel中的数据?

  • 有没有人实现过这种类型的验证模式?
  • 它在技术上看起来如何?

我想通过还具有模型数据,字段元数据之后接收整个视图模型一个“FormPreparer”延伸这一想法的,和其它用户和上下文数据被馈送到它,那么这种“FormPreparer”准备所有的窗体上的字段将在视图上,例如由的DatePicker表示

  • 日期字段控制
  • 电子邮件字段由与电子邮件验证文本框表示
  • 和例如客户字段客户

元数据定义了每个字段的这些东西的下拉列表:

  • 类型(文本,日期,日期/时间,持续时间,电子邮件,网址,客户)
  • 控制(文本框,多行TextBox,下拉菜单,单选按钮,复选框,clickbutton)
  • 标签(如 “名”)
  • 帮助文件(例如: “这是你的表4A上找到号码”)
  • 示例(“#123ABCD”)
  • 显示选项卡(例如,对于由多个翼片区域的)
  • 显示区域(例如,对于该组字段成区域的形式)
  • 显示顺序(例如,该组中的字段的顺序)
  • 值(例如“吉姆的形式“)
  • 自动提示数据(名称的数组,其需要在用户开始键入)
  • 场状态(只读,编辑,隐藏)

的要被显示‘FormPreparer’将结合这一切信息,然后将数据呈现给View whi CH:

  • 示出了在适当的控制的所有形式的数据(日期为datepickers,在多行文本框的说明中,等等)
  • 通吃验证的护理自动
  • 将当前用户被允许只显示字段看,只会让他编辑的他被允许编辑数据

有没有人编程沿着这些路线一个WPF/MVVM应用程序?

回答

0

不,我正在开发一个WPF/MVVM项目,但我们还没有采用这种通用方法进行验证。我们在每个视图模型中创建一个自定义验证方法,并使用每个视图模型特有的验证逻辑。

可以用于所有视图模型的通用验证例程会很好。