0

ユーザーが選択した日付をテキストボックスに挿入する場合、日付を古い日付または今日の日付にすることはできません。使用できる検証ルールは何ですか?

どちらのバリデータコントロールを使用すればよいかわかりません。

4

2 に答える 2

0

この非標準のケースでは、 を使用するCustomValidator必要があります。これには、サーバー側の検証関数を記述する必要があります。MSDN の詳細は次のとおりです。

http://msdn.microsoft.com/en-us/library/9eee01cx(v=vs.100).aspx

于 2013-01-16T09:58:16.493 に答える
0

1 つの方法は、次のようCustomValidatorに a を使用することです。ServerValidate

<asp:CustomValidator runat="server"
    ID="CustDateValidator" 
    ControlToValidate="txtDate"
    onservervalidate="CustDateValidator_ServerValidate" 
    ErrorMessage="enter valid date in the future" />

分離コード:

protected void CustDateValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
    DateTime dt;
    args.IsValid = (DateTime.TryParse(args.Value, out dt) 
                    && dt > DateTime.Today);
}

必要に応じて を提供することもできClientValidationFunctionます (実装はあなた次第です)。

: 入力コントロールが空の場合、検証関数は呼び出されず、検証は成功します。

空でないことを確認する必要がある場合は、RequiredFieldValidatorも必要です。

于 2013-01-16T10:02:57.767 に答える