2016-08-23 13 views
-1

テキストボックスのグループがある場合、グループ1と言います。また、別のグループのテキストボックスは、グリッドビューのテンプレートの編集の2つのグループを表します。第1のグループの総和は、クライアント側の第2のグループの総和と等しく、保存または追加を可能にする。クライアント側のテキストボックス値の合計を検証する方法


EX:

txt1 
txt2 
txt3 
txt4 

私はそれを検証する:

Decimal.Parse(txt1.Text)+ Decimal.Parse(txt2.Text) = Decimal.Parse(txt3.Text)+ Decimal.Parse(txt4.Text) 

注:これらのテキストボックスの

一つ以上が空でもよいし、この場合、私は は値のasp.netバリデータを使用して、そのようないくつかのことを行う方法0


考えます。

+1

myCustomValidationを拡大することができますか? –

+0

@MatiasCicero:文字列の連結ではなく、これらのテキストボックスの値の合計を比較したいと思います。 –

+0

あなたはもっと具体的にする必要があります。テキストボックスの文字列値を整数として検証したい場合は、テキストボックスの値をIntに変換して変数を代入するチェックをする必要があります'var grpOneSum = Convert.ToInt32(txt1.Txex)+ Convert.ToInt32(txt2.Text)... etc'の合計は、各テキストボックスの値がどのように保持されるかの例を示します。または' CustonVailidtors'を使用します – MethodMan

答えて

0

CustomValidatorsを使用できます。 https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.aspx

以下は、ごく簡単な例です。あなたは、文字列の連結を比較したいか、またはテキストボックスに数字が含まれていると、あなたが追加を比較したいん等の最小 - 最大の範囲、非整数値のチェックを含めるように

<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="myGroup"></asp:TextBox> 
    <br /> 
    <asp:TextBox ID="TextBox2" runat="server" ValidationGroup="myGroup"></asp:TextBox> 
    <br /> 
    <asp:TextBox ID="TextBox3" runat="server" ValidationGroup="myGroup"></asp:TextBox> 
    <br /> 
    <asp:TextBox ID="TextBox4" runat="server" ValidationGroup="myGroup"></asp:TextBox> 
    <br /><br /> 
    <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup" /> 
    <br /> 
    <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Error adding TextBox values" ValidationGroup="myGroup" ClientValidationFunction="myCustomValidation"></asp:CustomValidator> 

    <script type="text/javascript"> 
     function myCustomValidation(oSrc, args) { 
      var tb1 = document.getElementById('<%=TextBox1.ClientID %>').value; 
      var tb2 = document.getElementById('<%=TextBox2.ClientID %>').value; 
      var tb3 = document.getElementById('<%=TextBox3.ClientID %>').value; 
      var tb4 = document.getElementById('<%=TextBox4.ClientID %>').value; 

      if (tb1 == "" || tb2 == "" || tb3 == "" || tb4 == "") { 
       //to make sure the validator fires if one or more textboxes are left empty 
       args.IsValid = false; 
      } else if (((tb1 + tb2) == (tb3 + tb4))) { 
       args.IsValid = true; 
      } else { 
       args.IsValid = false; 
      } 
     } 
    </script> 
関連する問題