在Silverlight中进行基本的数据验证
2009-02-25 13:15
393 查看
Silverlight 2支持基本的数据验证功能。在Silverlight 2中,当我们把数据绑定到某个UI控件的时候,该数据所具有的有效性规则也自动被绑定到了该UI控件上。比如某个数据字段被设置为整数型,当我们用非整数型数据对该字段进行更新的时候就会发生错误。我们就可以利用这个规则在UI中对输入数据进行验证。要做到这点,我们只要设置两个XAML属性,并在所定义的事件中实现我们所期望的UI行为就可以了。
比如如下的XAML代码定义了一组控件,用户通过TextBox对数据进行更新:
当NotifyOnValidationError和ValidatesOnExceptions这两个属性都设置为true的时候,Silverlight就会在对输入数据验证所绑定的规则发生错误的时候触发BindingValidationError事件,这样我们就会在验证发生错误时得到通知。
接下来我们要做的就是实现事件触发时的行为,也就是我们期望的UI行为。如:
在上面这段代码中,当错误发生时,控件(这里是TextBox)的背景色就会变成红色,并利用HTML页面的警告窗口给用户提示信息。而当错误被更正时,空间就会还原到默认的白色。
比如如下的XAML代码定义了一组控件,用户通过TextBox对数据进行更新:
<StackPanel x:Name="dataForm"> <TextBlock Text="FirstName" Width="125" FontSize="12" /> <TextBox x:Name="FirstNameTextBox" IsReadOnly="False" Width="150" Text="{Binding FirstName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" BindingValidationError="FirstNameTextBox_BindingValidationError"/> </StackPanel>
当NotifyOnValidationError和ValidatesOnExceptions这两个属性都设置为true的时候,Silverlight就会在对输入数据验证所绑定的规则发生错误的时候触发BindingValidationError事件,这样我们就会在验证发生错误时得到通知。
接下来我们要做的就是实现事件触发时的行为,也就是我们期望的UI行为。如:
private void FirstNameTextBox_BindingValidationError(object sender, ValidationErrorEventArgs e) { if (e.Action == ValidationErrorEventAction.Added) { ((Control)e.OriginalSource).Background = new SolidColorBrush(Colors.Red); this.Dispatcher.BeginInvoke(()=>HtmlPage.Window.Alert("The input format is invalid")); } if (e.Action == ValidationErrorEventAction.Removed) { ((Control)e.OriginalSource).Background = new SolidColorBrush(Colors.White); } }
在上面这段代码中,当错误发生时,控件(这里是TextBox)的背景色就会变成红色,并利用HTML页面的警告窗口给用户提示信息。而当错误被更正时,空间就会还原到默认的白色。
相关文章推荐
- 在Silverlight应用程序中进行数据验证
- 技巧:在Silverlight应用程序中进行数据验证
- Silverlight RIA Service 对数据进行操作--基本测试
- 技巧:在Silverlight应用程序中进行数据验证
- 技巧:在Silverlight应用程序中进行数据验证 推荐
- 技巧:在Silverlight应用程序中进行数据验证
- 实验_使用Struts框架进行数据验证(登陆校验)
- Silverlight实例教程 – Datagrid,Dataform数据验证和ValidationSummary
- JavaScript基础[用途、基本使用、批量产生对像、对象调用、对批量生产对象进行验证、语法的灵活性、js的内置对象]
- 解决PHPCMS会员注册未对Ucenter中会员数据进行验证的问题
- Silverlight实例教程 - Validation服务器端异步数据验证
- 利用Python Pandas进行数据预处理-Pandas基本的数据结构
- Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- EF Code First数据提交前进行模型验证/数据验证
- silverlight Validation MVVM下用户提交数据验证捕获
- SilverLight数据输入验证三:Visual Studio 2010调试Silverlight Validation调试设置技巧
- Silverlight实例教程 - Validation数据验证开篇
- 【Java】【TIJ】验证Java对类的基本数据类型的成员的默认初始化结果
- Silverlight实例教程 - Validation数据验证基础属性和事件