我正在尝试验证多行文本框控件,如下所示:
我的内容页面(我正在使用母版页)包含一个带有自定义验证器的文本框控件:
<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验证器不会被触发。问题是,这正是我试图验证的条件。当我输入一些随机文本然后尝试提交表单时,验证器会触发。
下拉列表完美验证。我认为我没有使用正确的属性来查找文本框的长度,但我不确定此时出了什么问题。有什么想法吗?