If you have a RadDatePicker with a asp:RequiredFieldValidator and when the user clicks a different RadTabStrip it calls Page_ClientValidate, the validator returns true even if the field is blank. However, it fails when you try to go back to the original tab causing you to never be able to fix the problem
Code below. Steps to reproduce:
1) Blank out the date but leave the cursor in the field - do not tab out or hit enter or cause a blur()
2) Click tab 2. Tab 2 loads
3) Click tab 1. Tab 1 does not load and you get a validation error "Close date is required"
I need this to work and do not know how to make it operate correctly in this case.
Code below. Steps to reproduce:
1) Blank out the date but leave the cursor in the field - do not tab out or hit enter or cause a blur()
2) Click tab 2. Tab 2 loads
3) Click tab 1. Tab 1 does not load and you get a validation error "Close date is required"
I need this to work and do not know how to make it operate correctly in this case.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
asp:ScriptManager
ID
=
"Scriptmanager1"
runat
=
"server"
/>
<
script
type
=
"text/javascript"
>
function ClientTabSelecting(sender, args) {
//This is mandatory to do some other stuff.
var isvalid = Page_ClientValidate();
if (isvalid) {
//
} else {
args.set_cancel(true);
}
}
</
script
>
<
telerik:RadTabStrip
ID
=
"RadTabStrip1"
runat
=
"server"
MultiPageID
=
"RadMultiPage1"
OnClientTabSelecting
=
"ClientTabSelecting"
SelectedIndex
=
"0"
>
<
Tabs
>
<
telerik:RadTab
ID
=
"TAB1"
Text
=
"Tab 1"
runat
=
"server"
PageViewID
=
"HeaderPage"
/>
<
telerik:RadTab
ID
=
"TAB2"
Text
=
"Tab 2"
runat
=
"server"
/>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
ID
=
"RadMultiPage1"
runat
=
"server"
SelectedIndex
=
"0"
>
<
telerik:RadPageView
ID
=
"HeaderPage"
runat
=
"server"
>
<
telerik:RadDatePicker
ID
=
"CloseDate1"
runat
=
"server"
CausesValidation
=
"True"
SelectedDate
=
"2014-11-1"
></
telerik:RadDatePicker
>
<
asp:RequiredFieldValidator
runat
=
"server"
Text
=
"This field is mandatory"
ControlToValidate
=
"CloseDate1"
ErrorMessage
=
"Close date is required"
></
asp:RequiredFieldValidator
>
</
telerik:RadPageView
>
<
telerik:RadPageView
ID
=
"TransactionHistoryPage"
runat
=
"server"
>
You Should Never See This if the date entered is before 2014
<
asp:Button
runat
=
"server"
ID
=
"Button1"
CausesValidation
=
"True"
/>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
<
asp:ValidationSummary
runat
=
"server"
ID
=
"summary"
/>
</
div
>
</
form
>
</
body
>
</
html
>