【ASP.NET】验证控件

    xiaoxiao2025-05-05  10

    前言

            上篇博客讲到了Web服务器控件,其中的验证控件,由于篇幅很长,所以单独拿出来和大家分享。

    RequiredFieldValidator限制空字段

    <asp:requiredfieldvalidator controltovalidate="txtName" display="static" errormessage="必须填入姓名!" "runat=server/> <center><asp:button id=btnSubmit text="提交" runat=server/></center> 属性:         errormessage:错误信息提示文本;controltovalidate:绑定需要判定的控件;display:静态(Static,无论现实还是不显示,位置一直占用)和动态(Dynamic,显示时占位,不显示时不占位)。

    CompareValidator比较两个字段

    <asp:comparevalidator contrlotovalidate="txtDoj" display="dynamic" errormessage="出生日期不能大于或等于入学日期" Controltocompare="txtDob" type="Date" operator="GreaterThan" runat=server/> <asp:comparevalidator controltovalidate="txtAge" display="dynamic" errormessage="年龄不能大于58" valuetocompare=58 type="Integer" operator="LessThanEqual" runat=server></asp:comparevalidator> 属性:         Type比较类型;ValueToCompare:对应类型的固定值;Operator:运算符。         当需要对输入字符的类型进行检验时,直接指定Type属性;当对两个控件进行比较时,需要指定ControlToValidate(作用于哪个控件)和ControlToCompare(与哪个控件进行比较)。

    RangeValidator检查制定范围

    <asp:rangevalidator controltovalidate="txtAge" type="Integer" minimumvalue="18" maximumvalue="58" errormessage="您的年龄必须在18-58岁范围内" display="dynamic" runat="server"></asp:rangevalidator> 属性:         MaximumValue最大值;MinimumValue最小值。

    RegularExpressionValidator使用表达式检查值

            该处所指的表达式即为正则表达式,一般情况下,正则表示式不需要自己写(系统有一般情况的表达式),直接选取就好。         ValidationExpress:选择正则表达式。

    CustomValidator通过客户端或服务端函数检查值

            该控件名为自定义验证控件,当我们的验证控件不足以满足我们的需求时,需要用到自定义验证控件,自定义控件分为两部分,一为客户端验证,二为服务端验证。 客户端验证: <asp:customvalidator runat="server" controltovalidate="txtGrade" clientvalidationfunction="clientval" onservervalidate="serverval" display="static">错误值</asp:customvalidator>         将我们写好的验证方法写到clientval中,即可完成复杂的验证。 服务端验证:         它将我们写好的验证方法放到ServerValidate事件中,直接在该事件下写验证方法。         IsValid:是否通过验证,布尔值。         ExecuteScalar:返回首行首列(执行语句)。

    ValidationSummary在页面中列出所有控件的验证错误(验证信息汇总)

    属性:         Page.IsValid:(服务器验证)如果页面上所有验证控件都通过的话,其值为true,否则为false。 需要注意的是,客户端如果有不合法控件的话,不会提交到服务器,自定义控件是在服务器端执行的,如果其不合法,仍会使服务器端代码执行,这时候需要用到Page.IsValid属性,当其为true时,执行代码,否则,说明服务器端执行的验证控件存在不合法。

    总结

            高版本的浏览器支持客户端验证,低版本浏览器不支持,二者均支持服务器端的验证。 <%@Page ClientTarget=DownLevel%>        在脚本代码中写,所有验证均提交到服务器,不在客户端验证。
    转载请注明原文地址: https://ju.6miu.com/read-1298796.html
    最新回复(0)