Я пытаюсь проверить многострочный текстовый элемент управления следующим образом:
Моя страница контента (я использую главные страницы) содержит элемент управления текстового поля с пользовательским валидатором:
<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 для многострочного текстового поля не запускается, когда текстовое поле не содержит текста. Проблема в том, что это именно то условие, которое я пытаюсь проверить. Когда я набираю произвольный текст, а затем пытаюсь отправить форму, запускается валидатор.
Выпадающие списки проверяются отлично. Я думаю, что я не использую правильное свойство, чтобы найти длину текстового поля, но я не совсем уверен, что происходит в данный момент. Есть идеи?