2011-11-28 54 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 

祝你好运!

相关问题