3

ASP.net TextBox TextMode = "DateTime" または "Date" で過去の日付をブロックすることは可能です。

4

2 に答える 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 に答える