Сравнить поля (проверка c # / asp.net) - PullRequest
3 голосов
/ 10 февраля 2012

Я работаю над приложением с двумя полями ввода, которое по-разному проверяется с помощью RequiredFieldValidator, RangeValidator и так далее. Мне нужна еще одна проверка, и она состоит в том, чтобы проверить, что число, которое пользователь пишет на input1, не больше, чем на input2, и вот вопрос.

Можно ли использовать элементы управления проверкой для сравнения 2 полей ввода или мне нужно написать код для этого? Я использую элемент управления ValidationSummary и, конечно, я хочу показать все ошибки с этим. Если невозможно использовать элементы управления проверкой для сравнения 2 полей ввода и мне нужно написать код для этого, можно ли в любом случае показать сообщение об ошибке с ValidationSummary, и в этом случае как?

Заранее спасибо!

Ответы [ 4 ]

1 голос
/ 10 февраля 2012

Вы пытались использовать CompareValidator?

Это позволяет сравнивать 2 поля ввода и является стандартным элементом управления согласно валидаторам Обязательное поле и Диапазон.

<asp:CompareValidator ControlToCompare="text1" ControlToValidate="text2" ErrorMessage="error" runat="server" Operator="LessThan" Type="Integer" />
1 голос
/ 10 февраля 2012

Вы можете использовать CompareValidator . См. здесь для примера.

1 голос
/ 10 февраля 2012

Используйте пользовательский элемент управления валидатора и используйте событие ServerValidate, чтобы возвратить true / false в зависимости от того, верна ли проверка.

Сводка проверки обнаружит, что страница недействительна, и отобразит ваше сообщение.

C #

   protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
            {
                if (TextBox1.Text.Length > TextBox2.Text.Length)
                    args.IsValid = false;
                else
                    args.IsValid = true;
            }

.aspx

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Invalid Length" Display="None" onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
            <br />
            <asp:Button ID="Button1" runat="server" Text="Button" />
0 голосов
/ 10 февраля 2012
    bool isLonger(string s1, string s2)
{
    return s1.Length > s2.Length ? true : false;
}

возвращает true, если длина, если s1 больше, чем длина s2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...