zoukankan      html  css  js  c++  java
  • silverlight 4 数据验证

    当用户提交数据时,我们必须对用户所填写的数据合法性进行验证。而silverlight4的数据验证功能有了比较简单的实现方法,以下是我实现一个示例:一个输入用户年龄的textbox,当用户输入为负数时会提示有错误,并不允许提交。

    1.新建一个silverlight 4 项目。

    2.mainpage.xaml里输入以下xaml:

    添加了一个textbox和一个button控件,button控件为提交测试功能,textbox为数据验证测试功能

    <Grid x:Name="LayoutRoot" Background="White">
        <TextBox Height="23" Grid.Row="1" HorizontalAlignment="Left" Margin="114,98,0,0" Name="_txtAge" VerticalAlignment="Top" Width="120"
                Text="{Binding Age,Mode=TwoWay,ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"/>
        <Button Content="提交" Height="23" HorizontalAlignment="Left" Margin="117,166,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
    </Grid>

    3.新建一个类用作数据类型及定义验证:

    //继承于IDataErrorInfo
       public class Person : IDataErrorInfo
       {
           //年龄字段
           public int Age { get; set; }

           #region IDataErrorInfo Members
           //返回来的错误信息(供判断用户数据是否合法使用)
           public string Error
           {
               get
               {
                   if (Age < 0)
                   {
                       return "err";
                   }
                   else { return null; }
               }
           }
           //错语提示(用户数据错误时作出的相应提示)
           public string this[string columnName]
           {
               get
               {
                   switch (columnName)
                   {
                       case "Age":
                           if (Age < 0)
                           {
                               return "年龄必须大于 0";
                           }
                           else
                           {
                               goto default;
                           }
                       default:
                           return null;
                   }
               }
           }
           #endregion
       }

    4.MainPage.xaml.cs文件:定义数据绑定及提交点击事件:

    public partial class MainPage : UserControl
        {
            //初始一个person类作为数据源
            private Person _person;
            public MainPage()
            {
                InitializeComponent();
                //实例化person
                _person = new Person() { Age = 20 };
                //让textbox与person数据源绑定
                _txtAge.DataContext = _person;
                //注册button提交点击事件
                button1.Click +=new RoutedEventHandler(button1_Click);
            }

            private void button1_Click(object sender, RoutedEventArgs e)
            {
                //判断数据验证是否通过
                if ((_txtAge.GetBindingExpression(TextBox.TextProperty).DataItem as Person).Error == null)
                {
                    MessageBox.Show("ok");
                }
            }
        }

  • 相关阅读:
    Ubuntu 安装 NTP 服务
    Packer 如何将 JSON 的配置升级为 HCL2
    WinRM 如何设置 TrustedHosts
    Windows 10 如何设置网络属性为私有
    Windows 使用 PowerShell 来管理另外一台 Windows 机器
    Windows PowerShell ISE 是什么和 PowerShell 有什么区别
    Spring事务传播属性和隔离级别
    @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})注解作用
    杂文 | 如何在演讲中讲个好故事
    2.2 思考框架:什么样的代码才是高效的代码
  • 原文地址:https://www.cnblogs.com/jacle169/p/2810044.html
Copyright © 2011-2022 走看看