0

我在需要正则表达式验证的 MVC 4 视图上有一个字段。我试图将条目限制为仅输入字符“A”到“Z”(不区分大小写)。

我的 C# 属性如下所示:

   /// <summary>
    /// Gets or sets the Revision property
    /// </summary>
    [DataMember]
    [Required]
    [RegularExpression("(/^[a-z]+$/i)", ErrorMessage = "Please enter a character between 'A' and 'Z'")]
    public string Revision { get; set; }

生成的 HTML 如下所示:

    <div class="formEditControl">
        <input Style="width:30px;" data-val="true" data-val-regex="Please enter a character between &#39;A&#39; and &#39;Z&#39;" data-val-regex-pattern="(/^[a-z]+$/i)" data-val-required="The Revision field is required." id="Revision" name="Revision" type="text" value="" />
        <span class="field-validation-valid" data-valmsg-for="Revision" data-valmsg-replace="true"></span>
    </div>

但是当我执行它时,我在有效数据输入时收到以下错误:

在此处输入图像描述

我对 MVC 4 或 RegEx 没有很多经验,所以我不清楚为什么这不起作用。

4

2 回答 2

1

你的正则表达式只允许小写字符。因此,当您输入“D”时,它会以错误响应。对于所有字母,不区分大小写,您的正则表达式应如下所示^[a-zA-Z]*$。尝试一下,它应该可以工作。

于 2013-04-08T13:51:00.463 回答
1

您必须(/从头开始,但这会使分隔符(). 我不确定您甚至根本不需要分隔符。删除()。如果这不起作用,请使用

^[a-zA-Z]+$
于 2013-04-08T13:52:36.453 回答