验证文本框值

时间:2010-09-14 08:00:02

标签: c# asp.net validation

我有三个文本框:Textbox1,Textbox2,Textbox3

我必须检查三者中的任何值是否相同。

例如:我在一个文本框中有1个值。我在其他两个文本框中不能有1个。

我正在使用文本框输入ID。如果我输入重复的id(例如我在Textbox1和Textbox2 / Textbox3中输入1),程序应该给我一条消息。

4 个答案:

答案 0 :(得分:2)

您可以将CustomValidatorClientValidation-Function一起使用。

这样的事情:

<script type="text/javascript" >
    function ClientValidate(sender, args){
        var Textbox1=document.getElementById('<%=Textbox1.ClientID%>');
        var Textbox2=document.getElementById('<%=Textbox2.ClientID%>');
        var Textbox3=document.getElementById('<%=Textbox3.ClientID%>');
        if(Textbox1!=null && Textbox2!=null && Textbox3!= null){
            args.IsValid = !(Textbox1.value==Textbox2.value || Textbox1.value==Textbox3.value || Textbox2.value==Textbox3.value);
        }
        return;
    }
</script>

答案 1 :(得分:2)

如果您没有使用LINQ,那么在服务器上执行此操作的方法可能是:

string tb1 = Textbox1.Text.Trim();
string tb2 = Textbox2.Text.Trim();
string tb3 = Textbox3.Text.Trim();

if( tb1 == tb2 || tb1 == tb3 || tb2 == tb3) 
{
    // Do something
}

如果您需要在客户端上执行此操作,则可以使用3个CompareValidators执行类似操作。

答案 2 :(得分:1)

您需要CustomValidator。了解它。

答案 3 :(得分:0)

var uniqueTextcount =  (new [] { tb1, tb2, tb3 }).Select(tb => tb.Text).Distinct().Count()
if (uniqueTextCount != 3)
  // ARGH!
相关问题