ASP.net TextBox TextMode = "DateTime" または "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 に答える