Asp.net mvc 4 如何使用Ext.Net MVC4 razor语法创建InputMask,以接受01到24的范围

Asp.net mvc 4 如何使用Ext.Net MVC4 razor语法创建InputMask,以接受01到24的范围,asp.net-mvc-4,razor,ext.net,Asp.net Mvc 4,Razor,Ext.net,我正在尝试输入从2000年开始的一年和两周(从01到24),即200101、201324,但不像201325和以后 我的代码是: X.TextFieldFor("fnPayment") .FieldLabel("Payment Fortnight") .Value((Model.fnPayment != null ? Model.fnPayment : "")) .Note("YYYYFF") .InputID("fnPayment") .IDMode(IDMode.Legacy) .Plugi

我正在尝试输入从2000年开始的一年和两周(从01到24),即200101、201324,但不像201325和以后 我的代码是:

X.TextFieldFor("fnPayment")
.FieldLabel("Payment Fortnight")
.Value((Model.fnPayment != null ? Model.fnPayment : ""))
.Note("YYYYFF")
.InputID("fnPayment")
.IDMode(IDMode.Legacy)
.Plugins(X.InputMask()
    .Mask("AABCPQ")
    .UnmaskOnBlur(true)
    .ClearWhenInvalid(true)
    .InvalidMaskText("Format must be YYYYQQ, where YYYY refers a year and QQ to fortnight. For example: 201401, 201424")
    .MaskSymbols(ls=> {
        ls.Add(new MaskSymbol { Name = "A", Regex = "[20]", Placeholder = "Y".ToCharArray()[0] });
        ls.Add(new MaskSymbol { Name = "B", Regex = "[012]", Placeholder = "Y".ToCharArray()[0] });
        ls.Add(new MaskSymbol { Name = "C", Regex = "[0-9]", Placeholder = "Y".ToCharArray()[0] });
        ls.Add(new MaskSymbol { Name = "P", Regex = "[012]", Placeholder = "Q".ToCharArray()[0] });
        ls.Add(new MaskSymbol { Name = "Q", Regex = "[0-9]", Placeholder = "Q".ToCharArray()[0] });
    })
)
.ID("fnPaymentContainer")
当我进行测试时,我发现唯一的方法是接受01到29之间的任何数字,但24之后的数字将无效,我正在尝试限制用户的错误

有什么想法吗?任何帮助都会很好


感谢是高级的。

我可以提出以下建议

@(Html.X().TextField()
    .Plugins(
        Html.X().InputMask()
            .Mask("ABCCDE")
            .MaskSymbols(ms =>
                {
                    ms.Add(new MaskSymbol() { Name="A", Placeholder='Y', Regex="2" });
                    ms.Add(new MaskSymbol() { Name="B", Placeholder='Y', Regex="0" });
                    ms.Add(new MaskSymbol() { Name="C", Placeholder='Y', Regex="\\d" });
                    ms.Add(new MaskSymbol() { Name="D", Placeholder='Q', Regex="[0-2]" });
                    ms.Add(new MaskSymbol() { Name="E", Placeholder='Q', Regex="[0-4]" });
                }
            )
    )
)
唯一的问题-它允许在末尾输入“00”。第二个字符取决于第一个字符。不幸的是,没有处理这种情况的功能