Lets say I have this code.
<asp:TextBox ID="TextBox1" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="ValidationFunction1"
ControlToValidate="TextBox1"
Display="Dynamic" />
And a validationFunction:
function ValidationFunction1(sender, args)
{
}
And i would like to know if, inside the function I could get the Control to validate something like:
var v = sender.ControlToValidate;
Actually sender.controltovalidate
gives the ClientID
of the control. So this seems like a solution.
function ValidationFunction1(sender, args){
var v = document.getElementById(sender.controltovalidate);
}
I tried and it worked for me. Please notify if it works.
Not verified, just a hint:
var v = document.getElementById('<%=CustomValidator1.FindControl(CustomValidator1.ControlToValidate).ClientID>%');
of course you could simply do it like:
var v = document.getElementById('<%=TextBox1.ClientID%>');
if you know exactly what you're validating. The first method is good when the control to be validated is set dynamically and you don't know beforehand which one it will be.
Also FindControl()
might return null
so you'd need to test for that too in order to avoid an exception.
Hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With