1

私のフォームにはパスワードフィールドがあるため、ポストバックを使用できません。クライアント側ですべてを検証する必要があります。

ただし、ValueToCompare はユーザー入力によって変更される場合があります。

javascriptでCompareValidatorのValueToCompareを変更するには?

ありがとう。


多分私は完全なケースを話す必要があります。a と b の 2 つの入力があります。この 2 つの数値の合計は c を超えることはできません。

たとえば、c が 90 の場合、a が 30 と入力された場合、b は 60 を超えることはできません。b が 40 と入力された場合、a は 50 を超えることはできません。

サーバー側でこれを行っていますが、asp.net 検証を使用してクライアント側で行うにはどうすればよいですか?

4

4 に答える 4

3

This works for me:

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

//in javascript
<%=valOptionsCmp.ClientID%>.valuetocompare = yourvalue
于 2011-04-04T09:54:35.307 に答える
0

「パスワードの入力」や「パスワードの再入力」タイプの比較などを意味する場合は、 ValueToCompareを使用する必要はありません。代わりに、次のようにControlToCompareControlToValidateを使用します。

  <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"/>
于 2009-06-29T02:20:41.393 に答える
0

から:

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

ユーザーが入力コントロールに入力した値を、別の入力コントロールに入力された値または定数値と比較します。

それらはあなたの選択です。2 つのコントロールを比較するか、1 つを定数と比較します。

どちらも適していない場合は、自分でロールする必要がある場合があります。

于 2009-06-29T02:03:32.753 に答える
0

私はfirebugの助けを借りて同じ問題を解決しました:

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

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

            });
        });
    </script> 

年の変更ドロップダウンリストの変更比較バリデータcvDataMinAperturaにJQueryを使用します。

于 2010-07-13T13:55:13.567 に答える