可以阻止ASP.net中的过去日期TextBox TextMode =“DateTime”或“Date”
答案 0 :(得分: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个小时以获得真实的,全球可接受的最小日期值。您可能希望根据应用程序更改此选项(例如将其限制为服务器的时区,前提是用户期望的那样)。
答案 1 :(得分:2)
Input element specification min属性(如果已指定)必须 具有一个有效的全局日期和时间字符串的值。最大 属性(如果已指定)必须具有有效全局日期的值 和时间字符串
您可能会从
背后的代码执行此操作yourTextBox.Attributes.Add("min", DateTime.Now.ToString());