Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
Version Q2 2011 released 07/12/2011
select

Calendar / Validation


  • Validating the times picked by the user can be done by using the standard ASP.NET validator controls. This example shows a sample period selection page. The user has to enter two time entries.
    We are using two RequiredFieldValidator instances to ensure the date pickers are not left empty.
    Additionally, a custom validator is used to validate that the second time value is greater than the first. In this specific instance, the most straightforward approach would have been to use Range/Compare validators. However, they both only cater for handling values of type Date. In this case, we would need to match the time fraction of the date, and hence a more flexible approach has been used, by coupling a CustomValidator with some client script logic.

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Page CodeFile="DefaultCS.aspx.cs" Language="c#" AutoEventWireup="false" Inherits="Telerik.Web.Examples.Calendar.DateTimePicker.Validation.DefaultCS" %>

    <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <qsf:HeadTag runat="server" ID="Headtag1"></qsf:HeadTag>
    </head>
    <body class="BODY">
        <form runat="server" id="mainForm" method="post">
        <qsf:Header ID="Header1" runat="server" NavigationLanguage="CS"></qsf:Header>
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
        <telerik:RadScriptBlock runat="server" ID="RadCodeBlock1">
            <script type="text/javascript">
                 //<![CDATA[
                var RadTimePicker1;
                var RadTimePicker2;

                function validate(sender, args)
                {
                    var Date1 = new Date(RadTimePicker1.get_selectedDate());
                    var Date2 = new Date(RadTimePicker2.get_selectedDate());
                    args.IsValid = true;
                    if ((Date2 - Date1) < 0)
                    {
                        alert("The second time value should be greater than the first!");
                        args.IsValid = false;
                    }
                }

                function onLoadRadTimePicker1(sender, args)
                {
                    RadTimePicker1 = sender;
                }

                function onLoadRadTimePicker2(sender, args)
                {
                    RadTimePicker2 = sender;
                }
                 //]]>
            </script>
        </telerik:RadScriptBlock>
        <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
            <table>
                <tr>
                    <td>
                        Start Time:&nbsp;
                    </td>
                    <td>
                        <telerik:RadTimePicker ID="RadTimePicker1" runat="server">
                            <DateInput ID="DateInput1" runat="server">
                                <ClientEvents OnLoad="onLoadRadTimePicker1" />
                            </DateInput>
                        </telerik:RadTimePicker>
    <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="RadTimePicker1"
    ErrorMessage="Enter a date!"></asp:RequiredFieldValidator>

                    </td>
                    <td rowspan="2">
                        <asp:Label ID="Label1" runat="server"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        End Time:&nbsp;
                    </td>
                    <td>
                        <telerik:RadTimePicker ID="RadTimePicker2" runat="server">
                            <DateInput ID="DateInput2" runat="server">
                                <ClientEvents OnLoad="onLoadRadTimePicker2" />
                            </DateInput>
                        </telerik:RadTimePicker>
    <asp:RequiredFieldValidator runat="server" ID="Requiredfieldvalidator2" ControlToValidate="RadTimePicker2"
    ErrorMessage="Enter a date!"></asp:RequiredFieldValidator>

                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
    <asp:CustomValidator ID="CustomValidator1" EnableClientScript="true" runat="server"
    ControlToValidate="RadTimePicker2" ClientValidationFunction="validate">

                        </asp:CustomValidator>
                        <asp:Button runat="server" Text="Save" ID="Button1" CssClass="qsfButton" OnClick="Button1_Click">
                        </asp:Button>
                    </td>
                </tr>
            </table>
        </telerik:RadAjaxPanel>
        <qsf:Footer ID="Footer1" runat="server"></qsf:Footer>
        </form>
    </body>
    </html>

Get more than expected!

 
 

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2024 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451