0

当用户在文本框中插入所选日期时,日期不能是旧日期或今天日期我可以使用什么验证规则?

我也不确定要使用哪个验证器控件。

4

2 回答 2

0

对于这种非标准情况,您需要使用 a CustomValidator,这将要求您编写服务器端验证函数。MSDN 在这里有详细信息:

http://msdn.microsoft.com/en-us/library/9eee01cx(v=vs.100).aspx

于 2013-01-16T09:58:16.493 回答
0

一种方法是使用 aCustomValidatorServerValidate这样的:

<asp:CustomValidator runat="server"
    ID="CustDateValidator" 
    ControlToValidate="txtDate"
    onservervalidate="CustDateValidator_ServerValidate" 
    ErrorMessage="enter valid date in the future" />

代码隐藏:

protected void CustDateValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
    DateTime dt;
    args.IsValid = (DateTime.TryParse(args.Value, out dt) 
                    && dt > DateTime.Today);
}

如果需要,您也可以提供ClientValidationFunction(实施取决于您)。

注意:如果输入控件为空,则不调用验证函数并且验证成功。

如果你需要确保它不是空的,那么你也需要一个RequiredFieldValidator

于 2013-01-16T10:02:57.767 回答