views:

680

answers:

4

In my form, there are password field, so that I cannot use postback. I need to validate everything in client side.

But the ValueToCompare may change by the user input.

How to change the ValueToCompare in CompareValidator by javascript?

Thanks.

A: 

From:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.comparevalidator.aspx

Compares the value entered by the user in an input control with the value entered in another input control, or with a constant value.

Those are your choices. Compare two controls, or compare one against a constant.

If neither suits, you may need to roll your own.

the.jxc
A: 

If you means something like Enter Your Password and Please Reenter Password type of comparison then you don't need to use ValueToCompare. Instead you use ControlToCompare and ControlToValidate like this:

  <asp:TextBox id="password" runat="server" TextMode="password"/>
  <asp:RequiredFieldValidator id="rfvPass" runat="server" 
   ControlToValidate="password" Text="*"/>

  <asp:textbox id=="rePassword" runat="server" TextMode="Password"/>
  <asp:CompareValidator id="cmpPass" runat="server" ControlToCompare="password" 
   ControlToValidate="rePassword" Type="String" Operator="Equal"/>
TheVillageIdiot
A: 

Maybe I need to tell the full case. I have two input, said a & b, the sum of this two number cannot greater than c.

For example, c is 90 a is inputted 30, then b cannot be greater than 60. if b is then entered to 40, than a cannot be greater than 50.

I am now doing this in server side, how can I do it in client side by using asp.net validations?

Jay
A: 

I solved the same problems with firebug helps:

<script type="text/javascript">
        $(document).ready(function() {
            $("select[id$=ddlYears]").change(function() {
              var year= $(this).val(); 

              <%= cvDataMinApertura.ClientID%>.valuetocompare = "01/01/"+year;          

            });
        });
    </script> 

I use JQuery for change compare validator cvDataMinApertura on change of years drop down list.

Flatlineato