Как проверить многострочный элемент управления asp: textbox с помощью пользовательских валидаторов и JavaScript? - PullRequest
1 голос
/ 14 июня 2009

Я пытаюсь проверить многострочный текстовый элемент управления следующим образом:

Моя страница контента (я использую главные страницы) содержит элемент управления текстового поля с пользовательским валидатором:

    <asp:TextBox ID="IssueDescription" TextMode="MultiLine" 
    Columns="40" Rows="5" runat="server" CssClass="textbox">
    </asp:TextBox>
<asp:CustomValidator ID="IssueDescValidator" runat="server" 
ErrorMessage="Please select a valid option" 
ClientValidationFunction="IssueDescValidation" 
ControlToValidate="IssueDescription"></asp:CustomValidator>

Я использую свойство ClientValidationFunction для проверки JavaScript. Javascript выглядит следующим образом:

private static string IssueDescValidator() {
    string issuedescvalidator = @"
            function IssueDescValidation(sender, args) {
                var issuedesc = document.getElementById(sender.controltovalidate);
                if (issuedesc.innerText.length > 0) { args.IsValid; };
            }";

    return issuedescvalidator;
}

Приведенный выше код проверки находится в пользовательском классе проверки, который также содержит код проверки для элементов управления раскрывающегося списка, которые находятся на той же странице содержимого, что и это многострочное текстовое поле.

По какой-то причине мой валидатор Javascript для многострочного текстового поля не запускается, когда текстовое поле не содержит текста. Проблема в том, что это именно то условие, которое я пытаюсь проверить. Когда я набираю произвольный текст, а затем пытаюсь отправить форму, запускается валидатор.

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

1 Ответ

2 голосов
/ 14 июня 2009

Вам необходимо установить для свойства ValidateEmptyText в вашем валидаторе значение True.

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