Проверка взаимозависимых входов с использованием JavaScript - PullRequest
1 голос
/ 12 марта 2010

У меня есть несколько текстовых полей в форме, и я хочу, чтобы два из них были проверены, например, если одно из них пустое, то скажите «Оба поля обязательны для заполнения». Кроме того, у меня есть и другие текстовые поля в форме, и они уже проверяются при нажатии кнопки.

Может ли это быть обработано с помощью Asp.Net CustomValidator?

Ответы [ 2 ]

1 голос
/ 12 марта 2010

Вы можете использовать специальный валидатор для выполнения этой задачи.

<asp:CustomValidator ID="CustomValidator1" runat="server" 
            ErrorMessage="CustomValidator" ClientValidationFunction="testValid" 
            ControlToValidate="TextBox1" onservervalidate="CustomValidator1_ServerValidate" 
            ValidateEmptyText="True">both fields required</asp:CustomValidator> 

ClientValidationFunction содержит функцию javascript на стороне клиента testValid. так должно выглядеть так:

<script type="text/javascript">
        function testValid(sender, args) {
            ....you logic
            //set args.IsValid according to your logic 
            args.IsValid = false;
        }
    </script>

На стороне сервера,

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        //set args.IsValid according to your validation logic.
        args.IsValid = false;
    }
0 голосов
/ 12 марта 2010

Используйте сравнение и запросите валидатор поля, т.е.

<label>Password</label> <asp:TextBox runat="server" ID="txtPassword" MaxLength="15" TextMode="Password" />

<label>Password-check</label> <asp:TextBox runat="server" ID="txtPasswordCheck" TextMode="Password" MaxLength="15" />
<asp:RequiredFieldValidator runat="server" ID="rfvtxtPasswordCheck" ControlToValidate="txtPasswordCheck" Text="* " />
<asp:CompareValidator runat="server" ID="cvtxtPasswordCheck" ControlToValidate="txtPasswordCheck" ControlToCompare="txtPassword" Operator="Equal" Type="String" Text="* Passwords do not match" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...