可以在 ASP.net TextBox TextMode = "DateTime" or "Date" 中阻止过去的日期
			
			5393 次
		
2 回答
            3        
        
		
我假设这是 WebForms,在这种情况下是的,您可以使用RangeValidator. 像这样:
<asp:TextBox runat="server" ID="dateField" />
<asp:RangeValidator runat="server" Type="Date" ControlToValidate="dateField" 
MaximumValue="9999/12/28" 
MinimumValue="1000/12/28" 
ErrorMessage="enter valid date" />
您需要根据需要设置MinimumValue属性。您可以从代码隐藏或页内<script>块中执行此操作:
this.rangeValidator.MinimumValue = DateTime.UtcNow.Subtract( new TimeSpan(13,0,0) ).ToString("G", CultureInfo.InvariantCulture);
请注意我使用UtcNow并减去 13 小时来获得真实的、全球可接受的最小日期值。您可能希望根据您的应用程序更改此设置(例如将其限制为您的服务器的时区,前提是您的用户所期望的)。
于 2013-03-03T10:34:25.790   回答
    
    
            2        
        
		
输入元素规范min 属性(如果指定)必须具有一个有效的全局日期和时间字符串值。max 属性(如果指定)的值必须是有效的全局日期和时间字符串
您可能会从后面的代码中执行此操作
yourTextBox.Attributes.Add("min", DateTime.Now.ToString());
于 2013-03-03T10:44:10.917   回答