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

Last change on this file since 1902 was 1902, checked in by schomburg, 11 years ago

added NumberFormatRule

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