CustomValidator客户端错误文本无法显示

时间:2015-05-21 05:33:39

标签: javascript c#

我的WebForms 4.51应用程序中有以下验证器:

<asp:CustomValidator ID="cfvClockedOut" runat="server" Display="Static" ControlToValidate="dtpClockedOutAt" CssClass="error" ErrorMessage="" ValidationGroup="Default" ClientValidationFunction="CheckClockOutDate" ValidateEmptyText="True"></asp:CustomValidator>

和相关的JS是:

function CheckClockOutDate(aSender, aArgs) {
        var ctlClockedOut = $find("<%=dtpClockedOutAt.ClientID %>");
        var ctrlClockedIn = $find("<%=dtpClockedInAt.ClientID %>");

        console.log('Start ' + ctrlClockedIn.get_dateInput().get_selectedDate());
        console.log('End ' + ctlClockedOut.get_dateInput().get_selectedDate());


        //Ensure clocked in is set should clocked out be set
        if (ctrlClockedIn.get_dateInput().get_selectedDate() === null && ctlClockedOut.get_dateInput().get_selectedDate() !== null) {
            console.log('Check');
            aArgs.IsValid = false;
            console.log(aSender.errormessage);
            aSender.errormessage = "Please specify a clock in time.";
            console.log(aSender.errormessage);
            console.log('/Check');
            return;
        }

        console.log('BAIL');
        aArgs.IsValid = true;
    }

如果我查看Firebug中显示的内容,我会看到:

Start null
End Wed May 06 2015 00:00:00 GMT+1000 (AUS Eastern Standard Time)
Check
undefined
Please specify a clock in time.
/Check

所以根据上面的说法我设置了自定义验证器显示的错误信息。但是,当我查看错误文本的相应HTML时,我看到:

<span id="ContentPlaceHolder1_cfvClockedOut" class="error" style="visibility:hidden;">

很明显我的文字没有更新,因此没有显示。我在这里错过了什么?为什么我的错误文字没有显示?

0 个答案:

没有答案