0

<telerik:RadDatePicker>2つの開始日と終了日に検証する比較バリデーターがあります。検証ルールは単純です。開始日が終了日よりも大きいかどうかを確認し、エラーメッセージをユーザーに表示して修正してください

期待どおりに機能しますが、開始日と終了日が同じ場合は、予期しないメッセージが表示されます。以下のコード:

<asp:CompareValidator ID="dateCompareValidator" runat="server" ControlToValidate="endDate" ControlToCompare="startDate" Operator="GreaterThan" Type="Date" ErrorMessage="Start Date is greater than the End Date - please correct dates."Display="Dynamic"></asp:CompareValidator>

日付ピッカーは、開始日と終了日の両方で次のとおりです。

<telerik:RadDatePicker CssClass="rcCalPopup" ID="endDate" runat="server" 
                                Skin="Vista">
                                <DateInput ID="DateInput2" runat="server" LabelCssClass="radLabelCss_Vista" Skin="Vista">
                                </DateInput>
                                <Calendar ShowRowHeaders="false" ID="Calendar2" runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False"
                                    ViewSelectorText="x" Skin="Vista">
                                </Calendar>
                                <DatePopupButton CssClass="rcCalPopup"></DatePopupButton>
                            </telerik:RadDatePicker>
4

1 に答える 1

2

バリデーターで定義したルールは次のとおりです。

  • EnddateはStartdateより大きくなければなりません(等しいものがないことに注意してください)

validatorプロパティは、無効な入力ではなく、有効なOperator入力のルールを決定します。

したがって、同じ日付を許可する場合は、を使用する必要がありますGreaterThanEqual

<asp:CompareValidator ID="dateCompareValidator" runat="server" 
    ControlToValidate="endDate" ControlToCompare="startDate" 
    Operator="GreaterThanEqual" Type="Date" 
    ErrorMessage="End date must be equal or greater than start date - please correct dates."Display="Dynamic">
</asp:CompareValidator>

それに応じて私も変更したことに注意してくださいErrorMessage。入力コントロールが空の場合、検証関数は呼び出されず、検証は成功します。コントロールを使用してRequiredFieldValidator、ユーザーに入力コントロールにデータを入力するように要求します。

于 2012-06-06T09:55:05.173 に答える