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

最初から始める必要があります(/が、これにより delimiters が作成され()ます。区切り文字がまったく必要かどうかはわかりません。(と を取り外し)ます。それがうまくいかない場合は、

^[a-zA-Z]+$
于 2013-04-08T13:52:36.453 に答える
1

正規表現は小文字のみを許可しています。したがって、「D」を入力すると、エラーが返されました。大文字と小文字を区別しないすべての文字について、正規表現は次のようになります^[a-zA-Z]*$。それを試してみてください。うまくいくはずです。

于 2013-04-08T13:51:00.463 に答える