Accessing the ControlToValidate control in a Validator

Discussion in 'ASP .Net Building Controls' started by Nathan Sokalski, May 20, 2008.

  1. I am writing a Validator by inheriting from the BaseValidator class. I need
    to access the control referred to by the ControlToValidate property. Because
    ControlToValidate is a String, I will need to use the FindControl() method
    using ControlToValidate as the argument. In most cases, this would work
    perfectly fine, but as most of us know, there are some scenarios (such as
    those involving Master pages) in which the NamingContainers can make this
    harder than we would like. The GetControlValidationValue() method obviously
    needs to reference the ControlToValidate control when it gets the validation
    value, so I am wondering if there is some hidden way to make it easier to
    get the ControlToValidate control in a Validator, since they are often used
    together. Any help would be appreciated. Thanks.
     
    Nathan Sokalski, May 20, 2008
    #1
    1. Advertisements

  2. Nathan Sokalski

    bruce barker Guest

    the validator design logic requires the validator and the control to be
    validated are in the same naming container. There is no hidden logic, the
    base validator code just does a this.NamingContainer.FindControl().

    if you know the fully qualified path you can specify it as:
    parent1$parent2$child

    you could make your own naming container that the validators were placed in
    that had its own FindControl logic.


    -- bruce (sqlwork.com)
     
    bruce barker, May 20, 2008
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.