MVVM表单验证

本文探讨了MVVM架构下的表单验证,介绍了WPF数据绑定的验证机制,包括Exception验证、ValidationRule验证和IDataErrorInfo验证。每种机制的工作流程和优缺点被详细阐述,强调了在MVVM模式下数据验证的便利性。DataAnnotations也被提及,作为增强验证能力的工具,提供了多种内置验证属性。
摘要由CSDN通过智能技术生成

一、MVVM表单验证:
表单验证是MVVM体系中的重要一块。而绑定除了推动 Model-View-ViewModel (MVVM) 模式松散耦合逻辑、数据和 UI定义的关系之外,还为业务数据验证方案提供强大而灵活的支持。WPF 中的数据绑定机制包括多个选项,可用于在创建可编辑视图时校验输入数据的有效性。常见的表单验证机制有如下几种:
验证类型说明:
(1)Exception 验证通过在某个 Binding 对象上设置 ValidatesOnExceptions 属性,如果源对象属性设置已修改的值的过程中引发异常,则抛出错误并为该 Binding 设置验证错误。
(2)ValidationRule 验证Binding 类具有一个用于提供 ValidationRule 派生类实例的集合的属性。这些ValidationRules 需要覆盖某个 Validate 方法,该方法由 Binding 在每次绑定控件中的数据发生更改时进行调用。如果 Validate 方法返回无效的 ValidationResult 对象,则将为该 Binding 设置验证错误。
(3)IDataErrorInfo 验证通过在绑定数据源对象上实现 IDataErrorInfo 接口并在 Binding 对象上设置ValidatesOnDataErrors 属性,Binding 将调用从绑定数据源对象公开的IDataErrorInfo API。如果从这些属性调用返回非 null 或非空字符串,则将为该 Binding 设置验证错误。

二、我们在使用 WPF 中的数据绑定来呈现业务数据时,通常会使用 Binding 对象在目标控件的单个属性与数据源对象属性之间提供数据管道。如果要使得绑定验证有效,首先需要进行 TwoWay 数据绑定。
这表明,除了从源属性流向目标属性以进行显示的数据之外,编辑过的数据也会从目标流向源。这就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值