2013-07-29 62 views
0

我想驗證(在一些簡單的方法)如果一個文本框輸入文本是一個數字,我會使用此代碼:LINK文本輸入驗證4.0

但這裏有一個問題:我使用.NET 4.0而不是4.5,所以我沒有PreviewTextInput事件。

我可以使用TextChanged,但是現在它沒有e.Handled驗證器。

有沒有簡單的解決方案(我想避免噸代碼)?

+1

你不能只用tryparse嗎? –

+0

使用掩碼文本框,那麼你不需要驗證 – Jonesopolis

+0

你可以使用'char.IsNumeric'函數在我看來更容易 – MethodMan

回答

2

如果您有權訪問將保存該值的屬性,則可以在該屬性上使用DataAnnotation。

[RegularExpression(Pattern="[0-9]+")] 
public string MyProperty { get; set; } 

MSDN文章接着升技更多關於主題的深度。

0

很難確定一個數字是什麼,而不是。我會用TryParse。如果失敗,它不是一個數字。

string s = "12345"; 

int number; 
bool result = int.TryParse(s, out number); 

if(!result) 
{ 
    // not a number. 
} 
+0

中不可用,但是我說我沒有'e.Handled'驗證器。所以我無法逃避事件我認爲有一些簡單的方法來做到這一點。像4.5中的'PreviewTextInput'一樣 – Nickon