自定义验证控件CustomValidator的使用

Posted mb61b856e04bb98

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义验证控件CustomValidator的使用相关的知识,希望对你有一定的参考价值。


 CustomValidator验证控件,可以自定义验证函数,实现其它几个验证控件不能实现的验证规则,最简单的应用如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomValidatorDemo.aspx.cs" Inherits="CustomValidatorDemo" %>
<!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>自定义验证控件的使用</title>
<script type="text/javascript">
function IsEven(source, args)

if (args.Value % 2 == 0 )

arg.IsValid = true;

else

args.IsValid = false;


</script>
</head>
<body>
<form id="form1" runat="server">
<div>
偶数:<asp:TextBox ID="txtEven" runat="server"></asp:TextBox>
<asp:CustomValidator ID="valxEven" runat="server" ControlToValidate="txtEven" ErrorMessage="所输数据不是偶数"
ClientValidationFunction="IsEven">*</asp:CustomValidator>
<br />
<asp:ValidationSummary ID="valsErrorMessage" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="提交" />
</div>
</form>
</body>
</html>

 【说明】

1、函数名由 ClientValidationFunction="IsEven"指定,函数形参名字可以自己决定,比方有些实例把args写成arguments,也是可以的;

2、形参args主要有两个属性args.Value和arg.IsValid,这两个属性要注意大小写

3、自定义验证控件可触发onservervalidate事件,在服务器端也可以编写验证代码,但,如果这样做,就有点失去了验证控件在客户端实现验证的意义了。



以上是关于自定义验证控件CustomValidator的使用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 自定义类验证器:TranslatorInterface 不可实例化

在自定义验证器指令中注入 ngControl,导致循环依赖

CustomValidator 客户端验证功能未触发

当我在 ASP.Net 中使用 CustomValidator 服务器端验证时,Simplemodal 关闭

在回发时,如何向验证摘要添加错误消息?

自定义控件(倒计时篇)