Solved

Why doesn't custom validator work?

Posted on 2010-08-12
9
253 Views
Last Modified: 2013-11-08
In asp.net 3.5, I'm using a custom validator.  I set a breakpoint in the code behind.  It is never hit and I never see an error display.  How can I figure what is wrong with the implementation?
<asp:CustomValidator ID="myVal" ControlToValidate="txtTextBox" 
                    runat="server" Display="Dynamic" EnableClientScript="false" 
                    ErrorMessage="An error has occurred" 
                    OnServerValidate="IsThisValid/>

//In code behind
protected void IsThisValid(object sender, ServerValidateEventArgs args)
        {
            args.IsValid = MyValidator.IsThisValid(args.Value);
        }

Open in new window

0
Comment
Question by:brettr
  • 4
  • 4
9 Comments
 
LVL 41

Expert Comment

by:guru_sami
ID: 33424640
just wondering if that's a typo or missing " after "IsThisValid?

OnServerValidate="IsThisValid"/>
0
 

Author Comment

by:brettr
ID: 33424667
Typo.  The quote is there in the real code.
0
 
LVL 18

Expert Comment

by:Anil Golamari
ID: 33424679
<asp:TextBox runat="server" id="txtCustom" />
<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtCustom" onservervalidate="IsThisValid"
errormessage="The text must have a value!" />


//Code Behind.
protected void IsThisValid(object sender, ServerValidateEventArgs e)
{
    if(e.Value.Length == "")
        e.IsValid = true;
    else
        e.IsValid = false;
}

Can you try this code and see what it returns.

Good Luck.
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 41

Expert Comment

by:guru_sami
ID: 33424700
Then you might want to make sure if no other client-side validation is failing.....and the isn't any postback at all.
0
 

Author Comment

by:brettr
ID: 33424750
@lucky85:

I tried your example.  Still nothing.
0
 
LVL 41

Accepted Solution

by:
guru_sami earned 500 total points
ID: 33424827
Did you set ValidationGroup for your submit button?
If so then you need to include that for your CustomValidator as well.
0
 

Author Comment

by:brettr
ID: 33424834
Apparently I needed to add a ValidationGroup attribute for this to work.  I'm using a value that matches that used by other validators.  Not sure why ValidationGroup causes it to work now.
0
 

Author Closing Comment

by:brettr
ID: 33424892
I posted just after you sami.  Thanks.
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 33424900
If you Button has ValidationGroup="abc" then when you click that button the Validators that has ValidationGroup="abc" are only validated.
So if you don't include it with your CustomValidator, it won't fire.
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question