2017-08-07 54 views
-4

我遇到问题。我必须将一个文本框与另外两个文本框进行比较,如果值匹配,则应显示错误消息。在asp.net中比较三个文本框

我已经尝试过两个比较验证器,但一次只能比较一次验证器,所以得到第一个值只能看到我的代码。

<asp:CompareValidator ForeColor="Red" Font-Size="Small" runat="server" 
    ID="CompareValidator2" controltovalidate="txtsponsorfatherhusbandname" 
    controltocompare="txtfatherhusbandname" operator="NotEqual" type="String" 
    errormessage="Sponsor and applicant father name cannot be same" SetFocusOnError="true"> 
</asp:CompareValidator> 
<asp:CompareValidator ForeColor="Red" Font-Size="Small" runat="server" 
    ID="cmpfather" controltovalidate="txtsponsorname" 
    controltocompare="txtfatherhusbandname" operator="NotEqual" type="String" 
    errormessage="Sponsor and applicant father name cannot be same" SetFocusOnError="true"> 
</asp:CompareValidator>   
我用了从代码的文件,但问题编码它

是它刷新页面,所以如果有任何帮助,将不胜感激。 see the picture i want to check if applicant name is not equal to either Sponsor name and sponsor father husband name and if they are equal then they show a message and focus is on applicant name

回答

0

您可以使用一个CustomValidator。您可以在ClientValidationFunction内编写自己的逻辑。

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<br /> 
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
<br /> 
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
<br /> 
<asp:Button ID="Button1" runat="server" Text="Button" /> 
<br /> 

<asp:CustomValidator ID="CustomValidator1" runat="server" 
    ClientValidationFunction="checkAll3Boxes" ErrorMessage="All three are the same"></asp:CustomValidator> 

<script type="text/javascript"> 
    function checkAll3Boxes(sender, element) { 
     var tb1 = document.getElementById('<%= TextBox1.ClientID %>').value; 
     var tb2 = document.getElementById('<%= TextBox2.ClientID %>').value; 
     var tb3 = document.getElementById('<%= TextBox3.ClientID %>').value; 

     if (tb1 != "" && tb1 == tb2 && tb1 == tb3) { 
      element.IsValid = false; 
     } else { 
      element.IsValid = true; 
     } 
    } 
</script> 
+0

这个脚本没有显示语句ID无效 –

+0

后在文本框前面的任何消息,我曾试图 sender.innerHTML =“您与任何来到这里的HTML”; document.getElementById('lbltipAddedComment')。innerHTML ='您的提示已被提交!';但标签的值也不会改变 –

+0

显示CustomValidator的'ErrorMessage'。 – VDWWD