source: trunk/CrypPlugins/PKCS1/WpfResources/NumberFormatRule.cs @ 8109

Last change on this file since 8109 was 8109, checked in by kopal, 2 years ago
  • removed all unused references from all source code files
File size: 1.6 KB
Line 
1using System.Windows.Controls;
2using System.Globalization;
3using System.Text.RegularExpressions;
4
5namespace PKCS1.WpfResources
6{
7    class NumberFormatRule : ValidationRule
8    {
9        private int m_radix = 10;
10        public int Radix
11        {
12            set { this.m_radix = (int)value; }
13        }
14
15        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
16        {
17            var str = value as string;
18            int val;
19
20            if (10 == this.m_radix)
21            {
22                if (!int.TryParse(str, NumberStyles.Integer, cultureInfo.NumberFormat, out val))
23                {
24                    return new ValidationResult(false, "Es sind nur Zahlen zulässig!");
25                }
26                else
27                {
28                    return ValidationResult.ValidResult;
29                }
30            }
31
32            if (16 == this.m_radix)
33            {
34                string hex_string = value as string;
35                Match invalid_chars = Regex.Match(hex_string, "[^0-9a-fA-F]");
36                bool is_valid = (invalid_chars.Success == false);
37
38                if (is_valid == false)
39                {
40                    return new ValidationResult(false, "Bitte nur Zeichen von 0-9 und a-f eingeben!");
41                }
42                else
43                {
44                    return ValidationResult.ValidResult;
45                }
46            }
47           
48            return new ValidationResult(false, "Es ist ein Fehler aufgetreten!");
49        }
50    }
51}
Note: See TracBrowser for help on using the repository browser.