Как изменить ValueToCompare в CompareValidator с помощью JavaScript? - PullRequest
1 голос
/ 29 июня 2009

В моей форме есть поле пароля, поэтому я не могу использовать обратную передачу. Мне нужно проверить все на стороне клиента.

Но ValueToCompare может измениться при вводе пользователем.

Как изменить ValueToCompare в CompareValidator с помощью javascript?

Спасибо.


Может быть, мне нужно рассказать полный случай. У меня есть два ввода, сказал a & b, сумма этих двух чисел не может быть больше, чем c.

Например, с 90 а вводится 30, тогда b не может быть больше 60. если b затем введено в 40, то a не может быть больше 50.

Сейчас я делаю это на стороне сервера, как я могу сделать это на стороне клиента, используя проверки asp.net?

Ответы [ 4 ]

3 голосов
/ 04 апреля 2011

Это работает для меня:

<asp:CompareValidator ID="valOptionsCmp" runat="server"
     ErrorMessage="!!!"
     ControlToValidate="tbPrixOptions" Display="Dynamic"
     ValueToCompare="1"
     Operator="GreaterThanEqual"
     Type="Integer"/>

//in javascript
<%=valOptionsCmp.ClientID%>.valuetocompare = yourvalue
0 голосов
/ 29 июня 2009

Если вы имеете в виду что-то вроде Введите ваш пароль и Пожалуйста, введите пароль типа сравнения, вам не нужно использовать ValueToCompare . Вместо этого вы используете ControlToCompare и ControlToValidate , например:

  <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"/>
0 голосов
/ 13 июля 2010

Я решил те же проблемы с помощью firebug:

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

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

            });
        });
    </script> 

Я использую JQuery для проверки изменений cvDataMinApertura в раскрывающемся списке изменения лет.

0 голосов
/ 29 июня 2009

От:

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

Сравнивает значение, введенное пользователем в элемент управления вводом, со значением, введенным в другой элемент управления вводом, или с постоянным значением.

Это ваш выбор. Сравните два элемента управления или сравните один с константой.

Если ни один из них не подходит, вам может понадобиться бросить свой.

...