I thought that what I was trying to do was rather trivial, but it turns out to trouble me significantly. Here is the situation.
I have two radio buttons (implemented using RadButton) and a RadTextBox. I want to check on the client, before submitting the form that the the RadTextBox is not empty when the one of the two radio buttons is selected (let's say the first one). I have used the CustomValidator and I have set ValidateEmptyText=True to no luck. The extract of the code is 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's Name</label>
</td>
<td style=width:100px>
<telerik:RadTextBox ID=txtFathersName Runat=server EmptyMessage=Father's 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>
The javascript is below:
<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>