示例#1
0
 public DateMask(string mask, char year = 'y', char month = 'M', char day = 'd') : base(mask)
 {
     _y         = year;
     _M         = month;
     _d         = day;
     _maskChars = _maskChars.Concat(new[] { MaskChar.Digit(year), MaskChar.Digit(month), MaskChar.Digit(day), })
                  .ToArray();
 }
示例#2
0
    public void PatternMask_ChangeMaskChars()
    {
        var mask = new PatternMask("(bb+) 999-bb")
        {
            MaskChars = new MaskChar[] { MaskChar.Letter('b'), MaskChar.Digit('9'), MaskChar.LetterOrDigit('+'), },
        };

        mask.Insert("xyz");
        mask.ToString().Should().Be("(xyz) |");
        mask.Backspace();
        mask.ToString().Should().Be("(xy|");
        mask.Insert("1234");
        mask.ToString().Should().Be("(xy1) 234-|");
    }
示例#3
0
        public async Task MaskTest_ChangeMask1()
        {
            var comp = Context.RenderComponent <MudMask>();

            comp.SetParam(x => x.Mask, new PatternMask("(aaa) 000-aa")
            {
                Placeholder = '_', CleanDelimiters = true
            });
            var maskField = comp;

            await comp.InvokeAsync(() => maskField.Instance.HandleKeyDown(new KeyboardEventArgs()
            {
                Key = "a"
            }));

            comp.WaitForAssertion(() => maskField.Instance.Mask.ToString().Should().Be("(a|__) ___-__"));
            // change the mask
            comp.SetParam(x => x.Mask,
                          new PatternMask("(bb+) 999-bb")
            {
                MaskChars = new MaskChar[]
                {
                    MaskChar.Letter('b'), MaskChar.Digit('9'), MaskChar.LetterOrDigit('+'),
                },
                Placeholder     = '_',
                CleanDelimiters = true
            });
            // internal state is preserved!
            comp.WaitForAssertion(() => maskField.Instance.Mask.ToString().Should().Be("(a|__) ___-__"));
            await comp.InvokeAsync(() => maskField.Instance.HandleKeyDown(new KeyboardEventArgs()
            {
                Key = "b"
            }));

            comp.WaitForAssertion(() => maskField.Instance.Text.Should().Be("(ab_) ___-__"));
            comp.WaitForAssertion(() => maskField.Instance.Value.Should().Be("ab"));
        }