2017-01-12 41 views
1

在我的模型我有以下幾點:正則表達式註釋失敗雖然是正確

[Required(ErrorMessage = "First name is required.")] 
[Display(Name = "First Name")] 
[MaxLength(50)] 
[RegularExpression(@"/^[A-z]+$/", ErrorMessage = "Only alphabet characters are allowed.")] 
public string FirstName { get; set; } 

在形式它的失敗檢查不管我擺在那裏。我希望它確保只有字母,數字或特殊字符。

這不是重複的,因爲引用的帖子與數據註釋無關。他們是兩種不同的背景。

+0

的可能的複製[正則表達式匹配只有字母(http://stackoverflow.com/questions/3617797/regex-to-match-only-letters) –

+0

雖然解決方案是同樣的問題不同。 –

回答

2

您需要刪除正則表達式分隔符(不在.NET正則表達式中使用,因此將其視爲文字斜槓),並用A-Za-z(請參閱Why is this regex allowing a caret?)替換A-z

使用

@"^[A-Za-z]+$" 
+0

[正則表達式只匹配字母字符](http://stackoverflow.com/questions/6067592/regular-expression-to-match-only-alphabetic-characters) –

+0

@SergeyBerezovskiy:接受的答案[there](http: //stackoverflow.com/questions/6067592/regular-expression-to-match-only-alphabetic-characters)是錯誤的。另外,'/.../'是一種常見的正則表達式,在.NET中,'/'被解析爲模式中的文字符號。 –

+0

嗯..需要檢查 –