【ASP.NET】验证控件

来源:互联网 发布:淘宝商城女士高跟鞋 编辑:程序博客网 时间:2024/06/04 18:07

前言

        上篇博客讲到了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%>
        在脚本代码中写,所有验证均提交到服务器,不在客户端验证。

0 0
原创粉丝点击