[英]MVC 4 - Regular Expression Validation - Why is this not working?
我在MVC 4 View上有一個字段,需要正則表達式驗證。 我試圖限制進入字符'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 'A' and 'Z'" 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沒有太多經驗,所以我不清楚為什么這不起作用。
你是正則表達式只允許使用小寫字符。 因此,當您輸入“D”時,它會響應錯誤。 對於所有字母,不區分大小寫,您的正則表達式應該如下所示^[a-zA-Z]*$
。 試試吧,它應該工作。
你有(/
開頭,但這會產生分隔符()
。我不確定你是否甚至需要分隔符。刪除(
和)
。如果這不起作用,請使用
^[a-zA-Z]+$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.