New to Telerik UI for ASP.NET AJAXStart a free 30-day trial

Validate Treeview by Checked Nodes

By design, the RequiredFieldValidator can validate RadTreeView for a selected node.

This article shows two methods of validating RadTreeView for a checked nodes. In this way, you will be sure that there is at least one checked node of your TreeView.

Using the RequiredFieldValidator

In order this to work, you need to select/unselect the node on its checking/unchecking.

Here is the relevant code:

ASPNET
<telerik:RadTreeView RenderMode="Lightweight" ID="RadTreeView1" runat="server" CheckBoxes="true" OnClientNodeChecked="OnClientNodeCheckedHandler"
    Skin="Sunset">
</telerik:RadTreeView>

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="RadTreeView1"
	ErrorMessage="Please check at least one node">
</asp:RequiredFieldValidator>

Using the CustomValidator

The custom validator will check if the array containing the checked nodes has at least one node.

ASPNET
<telerik:RadTreeView RenderMode="Lightweight" ID="RadTreeView2" runat="server" CheckBoxes="true" Skin="Hay">
</telerik:RadTreeView>

<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validateTreeViewCheckboxes"
	ErrorMessage="Please check at least one node" OnServerValidate="CustomValidator1_ServerValidate">
</asp:CustomValidator>
C#
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    args.IsValid = RadTreeView2.CheckedNodes.Count > 0; 
}

See Also