您的位置:首页 > 其它

解决customvalidator中的错误信息不能再ValidationSummary中以对话框的形式弹出的一个Bug

2014-05-12 23:25 435 查看
使用ASP.NET的验证控件时使用ValidationSummary可以让错误显示已弹出框的形式显示,但是我们发现在使用Customvalidator进行验证时,错误显示并不能以对话框形式弹出!!!解决方案是调用客户端验证ClientValidationFunction

示例代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ASP.NET验证框架</title>
<script type="text/javascript" language="javascript">
function activeOnvalidate(source, args) {
if(args.Value.length<6||args.Value.length>12){
args.IsValid = false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="用 户 名:"></asp:Label>
<asp:TextBox ID="tb_uername" runat="server" Width="188px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="tb_uername" Display="None" ErrorMessage="用户名不允许为空!">*</asp:RequiredFieldValidator>
<br />
<asp:Label ID="Label2" runat="server" Text="密  码:"></asp:Label>
<asp:TextBox ID="tb_pwd" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="tb_pwd" ErrorMessage="密码不允许为空!">*</asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ValidateEmptyText="True" Display="None"
ClientValidationFunction="activeOnvalidate"
ErrorMessage="密码长度必须在6-12之间!" ControlToValidate="tb_pwd">*</asp:CustomValidator>
<br />
--最后效果图--



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐