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 !== "")

また、カスタム バリデータ マークアップにもう 1 つの属性を追加します。ValidateEmptyText="true"そうしないと、空のテキストはまったく検証されません。

于 2013-07-23T16:15:13.630 に答える