自定义验证器客户端动态错误消息

21

我正在使用自定义验证器来调用JavaScript函数进行验证。我的问题是需要动态更改错误消息。以下是代码:

            <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="fcnValid1"
                ErrorMessage=""  Display="None" ValidateEmptyText="True">
            </asp:CustomValidator>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" ShowMessageBox="True" ShowSummary="False" />

    function fcnValid(source, args) {
        var Status = document.getElementById("<%=ddlStatus.ClientID%>").value

        if (Status == "In Underwriting") {
            if (document.getElementById("<%=txtRequestor.ClientID%>").value == "") {
                //sender.errormessage = "Test1"
                //sender.innerHTML = "Test2";
                document.getElementById("<%=txtRequestor.ClientID%>").focus();
                args.IsValid = false;
            }
        }
    }
3个回答

21

对我不起作用,source.errormessage = "custom message here"; 可以正常工作。 - Mahmoud Farahat
@Mahmoud更正了帖子。通常,如果答案已经在评论中了,您可以提交编辑答案(特别是当它是被接受的答案)以改进它。 - Kelsey
4
在使用IE9时,以下方法之一可以起作用:source.innerHTML = "自定义消息"; 或 $(source).html("自定义消息");。请注意,这是对原文的翻译,不包括解释或其他额外内容。 - doiley
@doiley 谢谢。在IE和Chrome中都对我有效。 - Bat_Programmer

11

有时候,source.errormessage 没有正常工作。

我的建议是使用 source.innerText="错误信息";


我想知道为什么innerText有效而errormessage无效。这与 .net 版本有关吗? - umutesen

1
source.errormessage = "custom message here";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接