Execute client side script when validation fails - how?

  • Thread starter Thread starter turboJeeper
  • Start date Start date
T

turboJeeper

I have a form with 16 fields, 10 of which use the
RequiredFieldValidator controls. I want to display a custom message
when the validation fails. However, all the validators have
ClientScript enabled so there is no postback.

What can I hook into on the client side to execute other client side
script (eg. show a hidden label or popup) if validation fails?
 
Sure,

<asp:TextBox runat="server" ID="TextBox1" CausesValidation="false"/>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1"
ControlToValidate="TextBox1"
ErrorMessage="" Display="Dynamic" EnableClientScript="true"/>

<asp:TextBox runat="server" ID="TextBox2" CausesValidation="false"/>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator2"
ControlToValidate="TextBox2"
ErrorMessage="" Display="Dynamic" EnableClientScript="true"/>

<asp:TextBox runat="server" ID="TextBox3" CausesValidation="false"/>
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator3"
ControlToValidate="TextBox3"
ErrorMessage="" Display="Dynamic" EnableClientScript="true"/>

<asp:Button runat="server" ID="Button3" Text="Click!" OnClientClick="return
ValidateUserData();"/>

<script type="text/javascript">
function ValidateUserData()
{
for (i = 0; i < Page_Validators.length; i++)
{
ValidatorValidate(Page_Validators);
}

ValidatorUpdateIsValid();

if (Page_IsValid == true)
{
return true;
}
else
{
alert('my custom code!');
return false;
}
}
</script>
 
Back
Top