Проверка значений текстового поля - PullRequest
0 голосов
/ 14 сентября 2010

У меня есть три текстовых поля: Textbox1, Textbox2, Textbox3

Я должен проверить, совпадает ли какое-либо из значений во всех трех.

Пример: у меня есть 1 в качестве значения в одном текстовом поле. У меня не может быть 1 в двух других текстовых полях.

Я использую текстовые поля для ввода идентификаторов. Если я введу повторяющиеся идентификаторы (например, я введу 1 в Textbox1 и Textbox2 / Textbox3), программа должна дать мне сообщение.

Ответы [ 4 ]

2 голосов
/ 14 сентября 2010

Если вы не используете 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 голосов
/ 14 сентября 2010

Вы можете использовать CustomValidator с дополнительной ClientValidation-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 голос
/ 14 сентября 2010

Вам нужен CustomValidator .Читайте об этом.

0 голосов
/ 14 сентября 2010
var uniqueTextcount =  (new [] { tb1, tb2, tb3 }).Select(tb => tb.Text).Distinct().Count()
if (uniqueTextCount != 3)
  // ARGH!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...