Reputation: 25938
I have a funny error occurring where none of my ajaxtoolkit:ValidatorCalloutExtender
's will show except for the first one.
I have 4 RadDatePickers
(that sit inside a asp:Wizard
) and if I select a date in the first date picker then click 'Next' none of the other ajaxtoolkit:ValidatorCalloutExtender
's popup. Note the validators work and stop progressing to the next step but the callout extender popups don't show.
Any ideas what is going wrong?
A full working file can be downloaded here; FileHosting
<asp:Wizard ID="wzdRegister" runat="server" DisplaySideBar="False" FinishCompleteButtonText="Submit" ActiveStepIndex="0">
<WizardSteps>
<asp:WizardStep ID="wzsIdentification" runat="server" Title="Identification">
<telerik:RadDatePicker ID="Expiry" runat="server" ></telerik:RadDatePicker>
<asp:RequiredFieldValidator ID="rfvExpiry" runat="server" ErrorMessage="Expiry is a required field"
ControlToValidate="Expiry" Text="*" />
<ajaxtoolkit:ValidatorCalloutExtender ID="vcerfvExpiry" runat="Server" TargetControlID="rfvExpiry" Width="350px" HighlightCssClass="highlight"
WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" />
<br />
<telerik:RadDatePicker ID="RadDatePicker1" runat="server" ></telerik:RadDatePicker>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Expiry is a required field"
ControlToValidate="RadDatePicker1" Text="*" />
<ajaxtoolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="Server" TargetControlID="RequiredFieldValidator1" Width="350px" HighlightCssClass="highlight"
WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" />
<br />
<telerik:RadDatePicker ID="RadDatePicker2" runat="server" ></telerik:RadDatePicker>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Expiry is a required field"
ControlToValidate="RadDatePicker2" Text="*" />
<ajaxtoolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="Server" TargetControlID="RequiredFieldValidator2" Width="350px" HighlightCssClass="highlight"
WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" />
<br />
<telerik:RadDatePicker ID="RadDatePicker3" runat="server" ></telerik:RadDatePicker>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="Expiry is a required field"
ControlToValidate="RadDatePicker3" Text="*" />
<ajaxtoolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="Server" TargetControlID="RequiredFieldValidator3" Width="350px" HighlightCssClass="highlight"
WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" />
<br />
</asp:WizardStep>
<asp:WizardStep ID="WizardStep1" runat="server" Title="Identification">
Step 2
</asp:WizardStep>
<asp:WizardStep ID="WizardStep2" runat="server" Title="Identification">
Final Step
</asp:WizardStep>
</WizardSteps>
<StartNavigationTemplate>
<input type="button" id="btnAccept" class="hidden" title="Accept" value="Accept" onclick="return false;" class="btn" />
<asp:Button ID="btnNext" runat="server" CommandName="MoveNext" Text="Next" class=" btnNext" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" Visible="false" class="btn" CausesValidation="false" />
<asp:Button ID="btnSave" runat="server" Text="Submit" OnClick="btnSave_Click" Visible="false" class="btn" />
</StartNavigationTemplate>
<StepNavigationTemplate>
<asp:Button ID="btnPrevious" runat="server" CommandName="MovePrevious" Text="Previous" CausesValidation="false" class="btn" />
<asp:Button ID="btnNext" runat="server" CommandName="MoveNext" Text="Next" class="btn" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" Visible="false" class="btn" CausesValidation="false" />
<asp:Button ID="btnSave" runat="server" Text="Submit" OnClick="btnSave_Click" Visible="false" class="btn" />
</StepNavigationTemplate>
<FinishNavigationTemplate>
<asp:Button ID="btnSubmit" runat="server" CommandName="MoveComplete" Text="Submit" class="btnNext" />
</FinishNavigationTemplate>
</asp:Wizard>
Upvotes: 0
Views: 314
Reputation: 896
This is by design. If you take a look at ValidatorCallout.js show() function you will see the lines:
if(Sys.Extended.UI.ValidatorCalloutBehavior._currentCallout != null)
return;
This prevents next callouts from opening. You can simply remove this lines and/or post an issue to Ajax Control Toolkit issue tracker: https://ajaxcontroltoolkit.codeplex.com/workitem/list/basic
Upvotes: 1