zoukankan      html  css  js  c++  java
  • WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数

    正则:^(0.d+|[1-9][0-9]|1)$

    TextBox绑定正则验证

    <TextBox x:Name="txb"   MaxLength="6" Margin="1 0 0 0"  Width="40" >
        <TextBox.Text>
            <Binding Path="Opacity" ValidatesOnExceptions="True" ValidatesOnDataErrors="True" StringFormat="F2"            
              Mode="TwoWay" UpdateSourceTrigger="PropertyChanged"                              >
                <Binding.ValidationRules>
                    <shared1:InventoryValidationRule  InventoryPattern="^(0.d+|[1-9][0-9]|1)$"/>
                </Binding.ValidationRules>
           </Binding>
        </TextBox.Text>
    </TextBox>

     

    用到的InventoryValidationRule类:

     public class InventoryValidationRule : ValidationRule
        {
            #region Properties

            public string InventoryPattern { get; set; }

            #endregion Properties

            #region Methods

            public override ValidationResult Validate(
                      object value, CultureInfo cultureInfo)
            {
                if (InventoryPattern == null)
                    return ValidationResult.ValidResult;

                if (!(value is string))
                    return new ValidationResult(false,
                   "Inventory should be a comma separated list of model numbers as a string");

                string[] pieces = value.ToString().Split(',');
                Regex m_RegEx = new Regex(InventoryPattern);

                foreach (string item in pieces)
                {
                    Match match = m_RegEx.Match(item);
                    if (match == null || match == Match.Empty)
                        return new ValidationResult(
                          false, "Invalid input format");
                }

                return ValidationResult.ValidResult;
            }

            #endregion Methods
        }

  • 相关阅读:
    2012年的结束
    学习嵌入式的点滴(一)
    面试的点滴(一)
    学习嵌入式的点滴(二)
    DB2 SQL脚本批量执行(转)
    联邦数据库的一个例子(转)
    在 DB2 9.7 for Linux, UNIX, and Windows 上运行 Oracle 应用程序(转)
    WINDOWS批处理命令详解(转)
    SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2;reason code 10
    Oracle Package中的包变量的使用(转)
  • 原文地址:https://www.cnblogs.com/wangyan89smile/p/10037145.html
Copyright © 2011-2022 走看看