Monday, March 26, 2012

Conflict of TextboxWatermarkExtender and validators

I downloaded the latest version of Atlas and built a test page to see if TexboxWatermarkExtender would work with a validator. The code is below. When I click on the submit button for the first time (with no data in the textbox), I see correct behavior: validation fails, I see the error message, and the page is not posted back. If I make no changes and click on the submit button again, for a split-second I see a javascript error in the IE ("Sys.Application.findObject(...) is null or not an object"), and then the page is posted back. Needless to say, no validation occurs.

I am new to Atlas, so forgive me if I am making a rookie mistake somewhere:

<%@dotnet.itags.org. Page Language="C#" AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="TestPage" %><%@dotnet.itags.org. Register assembly="AtlasControlToolkit" namespace="AtlasControlToolkit" tagprefix="cc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Untitled Page</title></head><body> <form id="form1" runat="server"> <div> <atlas:ScriptManager runat="server" EnablePartialRendering="true" ID="scriptManager" /> <cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" EnableViewState="true"> <cc1:TextBoxWatermarkProperties WatermarkText="mm/dd/yyyy" TargetControlID="txtDate" /> </cc1:TextBoxWatermarkExtender> <asp:TextBox ID="txtDate" runat="server" ToolTip="mm/dd/yyyy"></asp:TextBox> <asp:RegularExpressionValidator ID="regexDate" runat="server" ControlToValidate="txtDate" CssClass="evError" ErrorMessage="Enter the date in format MM/DD/YYYY" Display="Dynamic" ValidationExpression="(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d" /> <asp:Button ID="Button1" runat="server" Text="Button" /></div> </form></body></html>

Check out this thread for more info about TBW+validators:http://forums.asp.net/thread/1273626.aspx

We'll be adding this to the FAQ, too. Thanks!


Thanks a lot, will do. I missed your reply until now, sorry.
In case anyone is curious, this code only started working when I added an UpdatePanel

No comments:

Post a Comment