如果数据不是't已验证

Using a custom validator to change a label color if data isn't validated

本文关键字:验证 数据 如果      更新时间:2023-09-26

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

<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';
        }
    };

如果能揭露我做错了什么,我们将不胜感激。

您需要比较文本框的值。

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

此外,还要为自定义验证器标记添加一个属性:ValidateEmptyText="true",否则空文本将不会在上进行验证