使用CompareValidator进行时间验证

时间:2011-07-31 12:51:09

标签: .net asp.net validation comparevalidator datetime-comparison

作为(sorta)从以下问题继续 - CustomValidator time c#.net - 我想知道是否可以使用CompareValidator验证ASP.NET文本框中的时间?

我尝试了以下

<asp:CompareValidator ID="CompareValidator2" Operator="DataTypeCheck" 
ControlToValidate="txtTime" runat="server" ErrorMessage="* Valid time is required"      
Type="Date" Display="Dynamic" ForeColor="Red"></asp:CompareValidator>

我认为这可行,因为DateTime支持(显然)日期和时间,但验证器继续使用有效输入验证失败。

那么,是否可以使用CompareValidator验证时间,还是需要使用RegularExpression或Custom Validator?

2 个答案:

答案 0 :(得分:3)

这看起来像是here所见的重复帖子。

答案来自帖子。

“这显然无法完成。

记录;我使用了自定义验证器......“

答案 1 :(得分:0)

根据反射器,当CompareValidator验证输入时,他试图将输入与reg exp匹配,就像这样

^\s*(\d{1,2})([-/]|\. ?)(\d{1,2})(?:\s|\2)((\d{4})|(\d{2}))(?:\sг\.|\.)?\s*$

这就是为什么如果你只传递时间,CompareValidator总是返回false。