我需要在ASP.NET MVC 4中使用數據註釋編寫模型對象驗證。要求是允許所有字母,數字和下面的字符。使用數據註釋正則表達式屬性時的奇怪行爲
@'!&(){}:;,[].+?/-
所有其他特殊字符應該是驗證錯誤。 我有下面的代碼
[RegularExpression(@"^[a-zA-Z0-9 @'!&(){}:;,\[\].+?/-]+", ErrorMessage = NameIsNotValid)]
public string Name { get; set; }
此代碼不拋出驗證異常的字符串「測試名稱|||」
但是,如果我通過去除一個字符(@或 - )修改代碼
[RegularExpression(@"^[a-zA-Z0-9 '!&(){}:;,\[\].+?/-]+", ErrorMessage = NameIsNotValid)]
public string Name { get; set; }
從正則表達式驗證正確發生。我再次添加字符後面,確認沒有引發錯誤
現在我卡住了,不知道該怎麼辦。請指教
'@'在正則表達式沒有特殊的意義,所以它的怪異,但我認爲你需要'$'在表達 – 2013-02-21 05:02:14
結束時,我修改了代碼到[RegularExpression(@「^([a-zA-Z0-9 @'!&(){}:;,\ [\]。+?/ - ] +)$」,ErrorMessage = NameIsNotValid)] ..still沒有運氣 – Srijit 2013-02-21 05:05:08
嘗試轉義@帶有反斜槓 – 2013-02-21 05:05:39