在Silverlight应用程序中进行数据验证
概述
众所周知,在ASP.NET应用程序中,我们可以使用验证控件进行数据输入的验证,遗憾的是在Silverlight中并没有提供任何验证控件,但Silverlight对于双向数据绑定还是提供了一些基本的数据验证支持,我们可以在set设置器中定义验证规则,并对于不合法数据抛出异常,最后通过捕获验证错误事件来实现数据的验证。
本文将介绍在Silverlight应用程序中如何进行数据验证。
准备知识
Silverlight中如下两种情况下,将会触发验证错误:
1.在绑定引擎中执行数据转换时抛出异常
2.在业务实体的set设置器中抛出异常
为了在验证出错时能够接收到通知,我们必须要在绑定对象上设置如下两个属性为true:
ValidatesOnExceptions:告诉绑定引擎当有异常发生时创建一个验证异常
NotifyOnValidationError:告诉绑定引擎当有验证错误发生或者错误排除时触发BindingValidationError事件
这两个属性都定义在Binding类中,如下代码所示:
BindingValidationError事件定义在FrameworkElement中,通过它可以接收到ValidationErrorEventArgs类型的参数,而在ValidationErrorEventArgs中定义了一个很重要的属性Action,它的定义如下:
这里Added表示新增一个验证异常,Removed表示排除了一个验证异常。下面通过一个实例我们看一下如何使用它们进行数据的验证。