1

テキストボックスに有効な日付が入力されていることを確認するために、次のコードを使用しています。

<asp:CompareValidator ID="cvStartDate" runat="server" Operator="DataTypeCheck" 
Type="Date" ControlToValidate="txtStartDate" ErrorMessage="Please enter the 
start date in the format of dd/MM/yyyy hh:mm"/>

しかし、時間の検証で日付を入力すると失敗します。このタイプのバリデーターを取得して日付と時刻も受け入れる方法はあります、それともカスタムバリデーターを作成する必要がありますか? カスタム検証ルートを下る必要がある場合、何を提案しますか?

4

2 に答える 2

1

@Prabuは正しいです。CustomValidator を使用します。

CompareValidator は日付のみで機能し、日付と時刻では機能しません。

protected void CustomValidator_Date(object source, ServerValidateEventArgs args)
    {
        IFormatProvider culture = new CultureInfo("en-AU", true);
        try
        {
            String[] formats = { "dd MM yyyy", "dd/MM/yyyy", "dd-MM-yyyy" };
            DateTime dt1;
            dt1 = DateTime.ParseExact(args.Value, formats, culture, DateTimeStyles.AdjustToUniversal);
            args.IsValid = true;
        }
        catch
        {
            args.IsValid = false;
        }
    }
于 2016-02-18T00:14:24.580 に答える
-1

カスタムバリデーターを使用して日付を検証することをお勧めします。ユーザーが日付と時刻を入力するのを避けるには、

Ajax カレンダー エクステンダーを使用し、readonly プロパティを true に設定します。

于 2013-11-06T09:57:48.950 に答える