如何对没有日期的时间使用 CompareValidator?
当我在“开始”控件中输入“9:00”,在“完成”中输入“16:00”时; 下面的代码验证失败。
有谁知道我可以在没有日期的情况下使用 ASP.NET 验证器的方法吗?
Start <asp:TextBox ID="txtStart" runat="server" /> (hh:mm)
<br />
Finish <asp:TextBox ID="txtFinish" runat="server" /> (hh:mm)
<br />
<asp:CompareValidator
id="cpvFinish"
ControlToValidate="txtFinish"
ControlToCompare="txtStart"
Operator="GreaterThanEqual"
Type="Date"
Display="Static"
EnableClientScript="true"
ErrorMessage="Finish time must be later than the start time."
runat="server" />
PS-我知道我可以轻松地使用 CustomValidator 来代替,这似乎是这个验证器应该能够处理的事情。
When I enter 9:00 into the Start control, and 16:00 into Finish; the code below fails validation.
Does anybody know a way I can use the ASP.NET validator for times without the dates?
Start <asp:TextBox ID="txtStart" runat="server" /> (hh:mm)
<br />
Finish <asp:TextBox ID="txtFinish" runat="server" /> (hh:mm)
<br />
<asp:CompareValidator
id="cpvFinish"
ControlToValidate="txtFinish"
ControlToCompare="txtStart"
Operator="GreaterThanEqual"
Type="Date"
Display="Static"
EnableClientScript="true"
ErrorMessage="Finish time must be later than the start time."
runat="server" />
PS-I know I can easily use CustomValidator instead, it just seems like something this validator should be able to handle.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这显然是做不到的。
作为记录; 我使用了自定义验证器。
编辑:这是我的自定义验证器代码,以防任何人(即 alhambraeidos)需要它。 请注意,此代码将我的示例控件名称(txtStart 和 txtFinish)替换为我的应用程序中的实际名称(txtReady 和 txtClose)。
This appearently cannot be done.
For the record; I used a custom validator.
EDIT: Here's my custom validator code in case anyone (i.e. alhambraeidos) needs it. Please note, this code replaces my sample control names (txtStart & txtFinish) with actual names from my app (txtReady & txtClose).
比较验证器允许的类型有:
斯廷格,
整数,
双倍的,
日期(无时间)
货币
Compare validator allowable types are:
Stinrg,
Integer,
Double,
Date (no time)
Currency
尝试将 Type 属性更改为 String,它应该可以工作。
try to change the Type property to String, it should work.