0

当关联的文本框未通过验证时,我想更改标签的颜色。我当前的代码没有得到任何结果:

<asp:Label ID="lblFirstName" runat="server" Text="Your First Name*:"></asp:Label>
<br />
<asp:CustomValidator
    ID="customValFirstName"
    runat="server"
    Text=""
    ControlToValidate="txtFirstName"
    ClientValidationFunction="validateFirstName"
    Display="Dynamic"></asp:CustomValidator>
    <asp:TextBox ID="txtFirstName" runat="server" CssClass="textbox" MaxLength="50"></asp:TextBox>

Javascript:

function validateFirstName(sender, args) {
        var firstName = document.getElementById('<%=txtFirstName.ClientID %>');
        var firstNameLbl = document.getElementById('<%=lblFirstName.ClientID %>');
        if (firstName !== "") {
            args.IsValid = true;
        }
        else {
            args.IsValid = false;
            firstNameLbl.style.color = '#FF0000';
        }
    };

任何可以阐明我做错了什么的光都将不胜感激。

4

1 回答 1

2

您需要比较文本框的值。

更改if (firstName !== "")if (firstName.value !== "")

还要向您的自定义验证器标记添加一个属性:ValidateEmptyText="true"否则根本不会验证空文本

于 2013-07-23T16:15:13.630 回答