当用户在文本框中插入所选日期时,日期不能是旧日期或今天日期我可以使用什么验证规则?
我不确定使用哪个验证器控件
对于这种非标准的情况,您将需要使用CustomValidator
,这将要求您编写服务器端验证函数。MSDN在这里有详细信息:
http://msdn.microsoft.com/en-us/library/9eee01cx (v = vs.100) . aspx
一种方法是像这样使用CustomValidator
和ServerValidate
:
<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