Joh*_*yre 4 validation asp.net-2.0 comparevalidator
当我输入9:00进入Start控件,16:00进入Finish; 以下代码未通过验证.
有没有人知道我可以在没有日期的情况下使用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" />
Run Code Online (Sandbox Code Playgroud)
PS-我知道我可以轻松地使用CustomValidator,它似乎是这个验证器应该能够处理的东西.
这显然无法做到.
作为记录; 我使用了自定义验证器.
编辑:这是我的自定义验证码,以防任何人(即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;
}
Run Code Online (Sandbox Code Playgroud)