我有自定义验证码
<asp:CustomValidator ID="ddl1" ClientValidationFunction="IscontrolVisible" ControlToValidate="ddl1"
runat="server" ValidationGroup="ValSummary" Display="Dynamic" ErrorMessage="drop down invisible">*</asp:CustomValidator>
以下是功能
function IscontrolVisible(source, arguments) {
//if ((document.getElementById(source).visibility == "visible")) {
debugger;
if (arguments.value == "" || arguments.value == "Select...") {
arguments.IsValid = false;
}
else {
arguments.IsValid = true;
}
}
如何根据控件的可见性获取错误消息?
答案 0 :(得分:0)
使用source.controltovalidate
属性获取要验证的控件的ID,因此请在代码中使用document.getElementById(source.controltovalidate)
。
但是,您只能检测到您正在验证的控件是否可见如果您是直接在控件本身上设置 。
在这种情况下,您可以执行以下操作之一......
if (document.getElementById(source.controltovalidate).style.visibility !== "false") {
if (document.getElementById(source.controltovalidate).style.display !== "none") {
如果控件因其中一个父控件而不可见,则它不会继承visibility
或display
的CSS样式。在这种情况下,您必须递归检查相关控件的所有祖先。
其他强>
如果你想更改ErrorMessage文本(注意这只会在浏览器上本地更改它,并且在回发后不会在服务器上复制),那么以下内容应该适用于验证摘要消息框弹出窗口和列表/子弹...
source.errormessage = "New Error Message";
当作为验证器本身的一部分显示时,以下内容适用于该消息...
source.innerHTML = "New Error Message";