I thought that what I was trying to do was pretty trivial, but it seems to bother me a lot. Here is the situation.
I have two radio buttons (implemented using RadButton) and RadTextBox. I want to check on the client before submitting a form in which the RadTextBox is not empty when one of the two radio buttons is selected (say, the first). I used CustomValidator and I set ValidateEmptyText = "True" so that no luck. Code excerpt below:
<asp:Panel runat="server" ID="Panel1"> <table> <tr> <td class="auto-style5"> <telerik:RadButton ID="rdBtnIndividual" runat="server" AutoPostBack="False" GroupName="rdEmplrType" Text="Individual" ToggleType="Radio" OnClientCheckedChanged="rdBtnPhysical_CheckedChanged" UseSubmitBehavior="False"> <ToggleStates> <telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadioChecked" /> <telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadio" /> </ToggleStates> </telerik:RadButton> </td> <td> <telerik:RadButton ID="rdBtnLegal" runat="server" AutoPostBack="False" GroupName="rdEmplrType" Text="Legal Entity" ToggleType="Radio" OnClientCheckedChanged="rdBtnLegal_CheckedChanged" UseSubmitBehavior="False"> <ToggleStates> <telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadioChecked" /> <telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleRadio" /> </ToggleStates> </telerik:RadButton> </td> </tr> <tr> <td class="auto-style5"> <label>Name:</label> </td> <td> <telerik:RadTextBox ID="txtName" Runat="server" EmptyMessage="Name" LabelWidth="64px" Resize="None" Width="160px" DisabledStyle-BackColor="Silver"> </telerik:RadTextBox> </td> <td><asp:RequiredFieldValidator ID="THIS_IS_WORKING" ControlToValidate="txtName" runat="server" ErrorMessage="<img src='images/Exclamation.png' Title='Required Field'/>" > </asp:RequiredFieldValidator> </td> </tr> <tr> <td class="auto-style5"> <label>Father Name</label> </td> <td style="width:100px"> <telerik:RadTextBox ID="txtFathersName" Runat="server" EmptyMessage="Father Name" LabelWidth="64px" Resize="None" Width="160px" DisabledStyle-BackColor="Silver"> </telerik:RadTextBox> </td> <td> <asp:CustomValidator runat="server" ID="NOT_WORKING_VALIDATOR" ControlToValidate="txtFathersName" ValidateEmptyText="True" ClientValidationFunction="RequiredIfIndividual" ErrorMessage="<img src='images/Exclamation.png' Title='Required Field'/>" EnableClientScript="True"> </asp:CustomValidator> </td> </tr> </table> </asp:Panel>
Below is javascript:
<script type="text/javascript"> function RequiredIfIndividual(sender, args) { var chkBoxIndividual = $find("<%=rdBtnIndividual.ClientID%>"); chkBoxIndividual = $telerik.toButton(chkBoxIndividual); if (chkBoxIndividual.get_checked()) { if (args.Value == "") { args.IsValid = false; } else { args.IsValid = true; } } else { args.IsValid = true; } } </script>
source share