ASP.NET验证控件之CustomValidator
CustomValidator是用户自定义的验证控件,用来响应用户自定义的验证。可以使JS的客户端函数,也可以是写在后台代码中的服务端验证函数。
以下是CustomValidator的常用属性
属性 |
描述 |
BackColor |
背景颜色。 |
ClientValidationFunction |
规定用于验证的自定义客户端脚本函数的名称。 注释:脚本必须用浏览器支持的语言编写,比如 VBScript 或 JScript 使用 VBScript 的话,函数必须位于表单中: Sub FunctionName (source, arguments) 使用 JScript 的话,函数必须位于表单中: Function FunctionName (source, arguments) |
ControlToValidate |
要验证的输入控件的 id。 |
Display |
验证控件中错误信息的显示行为。 合法的值有: · None - 验证消息从不内联显示。 · Static - 在页面布局中分配用于显示验证消息的空间。 · Dynamic - 如果验证失败,将用于显示验证消息的空间动态添加到页面。 |
EnableClientScript |
布尔值,该值指示是否启用客户端验证。 |
Enabled |
布尔值,该值指示是否启用验证控件。 |
ErrorMessage |
验证失败时 ValidationSummary 控件中显示的错误信息的文本。 注释:如果设置了 ErrorMessage 属性但没有设置 Text 属性,则验证控件中也将显示 ErrorMessage 属性的值。 |
ForeColor |
控件的前景色。 |
id |
控件的唯一 id。 |
IsValid |
布尔值,该值指示关联的输入控件是否通过验证。 |
OnServerValidate |
规定被执行的服务器端验证脚本函数的名称。 |
runat |
规定该控件是服务器控件。必须设置为 "server"。 |
Text |
当验证失败时显示的文本。 |
学以致用,看看CustomValidator在实际当中的应用
<%@ Page Language="C#" AutoEventWireup="true" Inherits="Default2" Codebehind="Default2.aspx.cs" %> <!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" language="javascript"> function Clientv(s,e) { e.IsValid=(e.Value=="客户端"); } </script> </head> <body> <form id="form1" runat="server"> <div> 客户端验证 <asp:TextBox ID="txtClient" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="txtClient" ErrorMessage="客户端验证失败" ClientValidationFunction="Clientv" ForeColor="Red"></asp:CustomValidator> <br /> 服务器验证 <asp:TextBox ID="txtServer" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtServer" ErrorMessage="服务端验证失败" OnServerValidate="Server_ServerValidate" ForeColor="Red"></asp:CustomValidator> </div> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" /> </form> </body> </html>
写在cs文件中的服务端验证函数
//服务端的验证方法 protected void Server_ServerValidate(object source, ServerValidateEventArgs args) { args.IsValid=(args.Value=="服务端"); }
客户端提示验证失败,而且此时不再提交信息,所以服务端验证不会被执行。
客户端验证通过,服务端验证失败。
有一点需要注意一下,就是CustomValidator不会对空值或者全部为空格的内容进行验证,这一点可以通过跟之前讲的其他控件配合使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架