2011-11-28 57 views
0

我需要編寫使用自定義的驗證檢查,看是否有文本框有例如95.3它小數的數字。在asp.net的驗證器服務器控件中完成的表達式是什麼?使用自定義驗證服務器控制

+0

你想,如果用戶輸入包含小數驗證失敗或要求它有一個小數? – lukiffer

回答

0

像這樣的事情應該工作,你可以modifiy允許您需要或想要儘可能多的小數位:

\d{0,}.\d{0,2} 

假設你正在談論的正則表達式。但如果你是你應該使用正則表達式驗證器而不是自定義的。

而且,這裏是另外一個問題,這是非常相似的鏈接。 link

0

在validator_ServerValidate事件中,你可以這樣做:

Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate 
    If args.Value.Contains(".") Then 
     '*** Textbox has a decimal...do what you need to handle it ***' 

    End If 
End Sub 

但正如其他提,不知道多一點,正是你需要有發生,你可能會想看看一個普通的表達式驗證,並嘗試驗證的客戶端,而不是服務器端(除非你需要有它發生在回發)

+0

雖然這實際上會檢測某個字符串是否包含點「。」。或者不是,它也會在任何其他字符串上找到一個點。 –

+0

正如我所提到的,他需要更多地描述他希望驗證是如何發生的......如果它需要服務器端,那麼他也可以簡單地檢查該值是否爲數字(希望他知道如何至少這樣做)。 – Chris

0

請嘗試以下方法:

float f; 
bool isFloat =float.TryParse("a.0", out f); //Will return false 

bool isFloat2 =float.TryParse("95.3", out f); //will return true 

祝你好運!

相關問題