Tuesday, October 03, 2006

[ASP.NET] RequiredFieldValidator + OnClientClick issue

OnClientClick property was introduced in ASP.NET 2.0 to eliminate the need of developers to add the client-side "onclick" to a control programmatically. For instance,

JS script

function ConfirmMe()
{
   return confirm("Do you want to proceed?");
}


ASPX

<asp:TextBox id="txtName" runat="server"/>
<asp:Button id="btnSubmit" OnClientClick="return ConfirmMe()" Text="Submit" runat="server"/>


Well, that is pretty straightforward. BUT, it goes weird when you have a validator control (eg. RequiredFieldValidator) that is used to validate the "txtName" textbox server control. For instance,


<asp:TextBox id="txtName" runat="server"/>

<asp:RequiredFieldValidator id="rq1" ControlToValidate="txtName" ErrorMessage="Name cannot be blank" Display="Dynamic" runat="server"/>

<asp:Button id="btnSubmit" OnClientClick="return ConfirmMe()" Text="Submit" runat="server"/>


Whenever you press the button with no textbox value, the client-side confirmation dialog will be invoked first before the validator message is able to show up. This isn't what we expected it to behave. I tried several ways to overcome this problem, including using CLIENT CALLBACK, disabling the CauseValidation, but it failed. Finally, I was able to find a solution by adding JUST ONE line in the JS script.

function ConfirmMe()
{
   if(Page_ClientValidate())
      return confirm('Do you want to proceed?');

   return false;
}



Another discovery today !

16 comments:

יוסי שלם said...

It's worked!
Thanks!

家勤 said...

Thanks god!
That's wat i really need!!

Thank you very much!

Senthil Kumar said...

ping back from
http://skurocks.blogspot.com/

Mowie666 said...

This post was so #%^#^# metal.. thank you!!

Unknown said...

Thank you very much...
After long time, it solved my problem...

Once again Thanks!!!

Anonymous said...

Nice!!!!

Thank you so much!!

Unknown said...

Hi, I am getting problem in my code, can u pls tell me where i am wrong?
"i am not able to paste my ASP.NEt code"
Any pointers how to debug why I am not able to go to the location specified in location.href?

Many Thanks

Escape said...

Thank you very much..

Amir Rajan said...

yet another thank you!

Unknown said...

thank you very much ! I'm no trouble with this

Unknown said...

Obrigado, valeu amigo...

Nanthakumar.T said...

it's Great Post.!

Thank you very much!

ShurikEv said...

thx

Unknown said...

It is what I was looking for. Thaanks a lot.

Unknown said...

Thanks it solved my problem after Long time !

Unknown said...

Given so much information in it. its very useful .perfect explanation about Dot net Required field validator and onclickissue.Thanks for your valuable information.
dot net training in chennai velachery |
dot net training institute in velachery