2016-08-23 1 views
-1

Si j'ai un groupe de zones de texte, dites Groupe un, et un autre groupe de zones de texte indique le groupe deux. Dans le groupe de fonctions Modifier le modèle de grille, je souhaite valider le la sommation du premier groupe est égale à la sommation du second groupe du côté client pour permettre la sauvegarde ou l'ajout.Comment valider la sommation des valeurs des zones de texte du côté client


EX:

txt1 
txt2 
txt3 
txt4 

Je veux valider:

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

Note:

un ou plusieurs de ces zones de texte peut être vide et dans ce cas je considèrent la valeur 0


Comment faire quelque chose comme ça en utilisant validateurs asp.net.

+1

Voulez-vous comparer la chaîne ou faire concaténations les zones de texte contiennent des chiffres et que vous voulez comparer les ajouts? –

+0

@MatiasCicero: je veux comparer les sommations de valeurs de ces boîtes de texte et non les concaténations de chaînes. –

+0

vous devez être plus précis en ce qui concerne ce que vous voulez .. si vous voulez valider les valeurs de chaîne des zones de texte comme entiers alors vous devez faire une vérification convertissant les valeurs de la boîte de texte en Int et assignant une variable pour contenir le sommation de 'var grpOneSum = Convert.ToInt32 (txt1.Txex) + Convert.ToInt32 (txt2.Text) ... etc' montre aussi un exemple de ce que les valeurs dans chaque zone de texte contiendront .. ou utiliser' CustonVailidtors' – MethodMan

Répondre

0

Vous pouvez utiliser CustomValidators. https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.aspx

Ci-dessous un petit exemple pour vous aider à démarrer. Vous pouvez étendre myCustomValidation d'inclure la vérification des valeurs non entières, min-max varie etc.

<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>