以下は私のコードです:
<asp:TextBox
ID="FromDateTextBox"
runat="server" />
<asp:ImageButton
ID="FromDateImageButton"
runat="server"
ImageUrl="~/images/calander.png" />
<ajaxkit:CalendarExtender
ID="FromDate"
runat="server"
TargetControlID="FromDateTextBox"
CssClass="CalanderControl"
PopupButtonID="FromDateImageButton"
Enabled="True" />
<ajaxkit:MaskedEditExtender
id="FromDateMaskedEditExtender"
runat="server"
targetcontrolid="FromDateTextBox"
Mask="99/99/9999"
messagevalidatortip="true"
onfocuscssclass="MaskedEditFocus"
oninvalidcssclass="MaskedEditError"
masktype="Date"
displaymoney="Left"
acceptnegative="Left"
errortooltipenabled="True" />
<ajaxkit:MaskedEditValidator
id="FromDateMaskedEditValidator"
runat="server"
controlextender="FromDateMaskedEditExtender"
controltovalidate="FromDateTextBox"
emptyvaluemessage="Date is required"
invalidvaluemessage="Date is invalid"
display="Dynamic"
tooltipmessage="Input a date"
emptyvalueblurredtext="*"
invalidvalueblurredmessage="*"
validationgroup="MKE" />
Culture="auto" UICulture="auto"
@Pageディレクティブと EnableScriptGlobalization="true" EnableScriptLocalization="true"
スクリプトマネージャーで、テキストボックスにクライアントカルチャ固有の日付形式を設定しました。
またGo
、ページにボタンがあり、部分的にポストバックします。だから、ボタンがクリックFromDateTextBox
されたときにjavascriptで検証したいと思います。Go
アップデート
javascriptクリックハンドラーを作成する方法を知っています。ただし、マスクされたエディターは既にフォーカスシフトの日付を検証しているため、テキストボックスに有効な日付が含まれているかどうかを確認できるブールプロパティ(IsValidなど)が公開されているはずです。
さらなる試験
また、以下のコードを試してみPage_Validators[f].isvalid
ましたが、日付が無効で、MaskEditValidatorがテキストボックスの近くに赤い星を表示している場合でも、常にtrueを返します。
function isDateValid() {
var b = true;
for (var f = 0; f < Page_Validators.length; f++) {
if (!Page_Validators[f].isvalid)
b = false;
}
return b;
}
$('#GoButton').click(function() {
if (!isDateValid()) {
return false;
}
loadProducts();
});