【问题标题】:How to validate the summation of textboxes values in the client side如何在客户端验证文本框值的总和
【发布时间】:2016-08-23 19:25:08
【问题描述】:

如果我有一组文本框说第一组,而另一组文本框说第二组。现在它们都在网格视图的编辑模板中,我想验证第一组的总和等于第二组的总和在客户端允许保存或添加。


前:

txt1 
txt2 
txt3
txt4

我想验证一下:

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

注意:

其中一个或多个文本框可能是空的,在这种情况下我 考虑值0


如何使用 asp.net 验证器来做类似的事情。

【问题讨论】:

  • 你想比较字符串连接还是文本框包含数字并且你想比较加法?
  • @MatiasCicero:我想比较这些文本框的值的总和,而不是字符串连接。
  • 您需要更具体地了解您想要的内容。如果您想将文本框的字符串值验证为整数,那么您需要检查将文本框值转换为 Int并分配一个变量来保存var grpOneSum = Convert.ToInt32(txt1.Txex) + Convert.ToInt32(txt2.Text)...etc 的总和还向我们展示了每个文本框中的值将保存的示例.. 或使用CustonVailidtors
  • @MethodMan :根据您的说明,我已经编辑了问题。

标签: javascript c# asp.net validation customvalidator


【解决方案1】:

您可以使用自定义验证器。 https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.aspx

下面是一个帮助您入门的小例子。您可以扩展 myCustomValidation 以包括检查非整数值、最小-最大范围等。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    相关资源
    最近更新 更多