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

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

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

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

Благодарю.


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

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

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

4 ответа

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

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

//in javascript
<%=valOptionsCmp.ClientID%>.valuetocompare = yourvalue

Если вы имеете в виду что-то вроде ввода пароля и повторного ввода пароля, то вам не нужно использовать 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"/>

Я решил те же проблемы с помощью 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 в выпадающем списке изменения года.

От:

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

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

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

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

Другие вопросы по тегам