作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在 Start 控件中输入 9:00,在 Finish 中输入 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" />
最佳答案
这显然是做不到的。
作为记录;我使用了自定义验证器。
编辑:这是我的自定义验证器代码,以防任何人(即 alhambraeidos)需要它。请注意,此代码将我的示例控件名称(txtStart 和 txtFinish)替换为我的应用程序中的实际名称(txtReady 和 txtClose)。
try
{
// parse & compare dates
string randomDt = "01/01/2000 ";
args.IsValid = DateTime.Parse(randomDt + txtClose.Text) > DateTime.Parse(randomDt + txtReady.Text);
}
catch(Exception /*ex*/)
{
// exception is assumed to be invalid times entered
args.IsValid = false;
}
关于validation - 如何在没有日期的时间使用 CompareValidator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/497294/
我是一名优秀的程序员,十分优秀!