0

Telerik DatePicker は、WebForms CompareValidator のデータ型チェックをサポートしていません。無効な日付が入力されると、DatePicker は入力ボックスにエラー スタイルを表示しますが、空の値を返すためです。そのため、オプションの日付フィールドを含むデータ入力フォームでは、無効な日付がポストバックに表示されて空のフィールドにならないように、何らかの方法で処理する必要があります。

4

1 に答える 1

1

CustomValidator を使用することで、DatePicker の入力テキスト ボックスに値があるが、空の文字列を返すかどうかを確認できます。これは、日付形式が無効であることを示します。

function DateValidate(sender, args) {
   var datepicker = document.getElementById(sender.controltovalidate).control;
   var dateInput = datepicker.get_dateInput();
   args.IsValid = !(dateInput.get_textBoxValue() != "" && dateInput.get_value() == "");
}

<telerik:RadDatePicker
   ID="RetiredDatePicker" dbSelectedDate='<%# Bind("RetiredDate") %>' Runat="server">
</telerik:RadDatePicker>
<asp:CustomValidator
   ID="RetiredDateValidator" runat="server" CssClass="Error" 
   ClientValidationFunction="DateValidate" ValidateEmptyText="true"
   ControlToValidate="RetiredDatePicker"  SetFocusOnError="True" 
   ErrorMessage="Retired date is not a valid date">*</asp:CustomValidator>
于 2012-10-31T20:53:44.360 に答える