c#中不能选择旧日期和今天日期的日期验证器



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

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

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

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

一种方法是像这样使用CustomValidatorServerValidate:

<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

最新更新