• ASP.NET与JavaScript轻松实现输入信息验证


             无论是在我们平时上网、发邮件、办公、学习和生活中经常会输入一些数据,比如身份证号、邮件账号、数字、汉字、数字字母组合,或者符合某一个规格的输入数据,这是我们想要的输入结果,而结果往往令人差强人意,我们希望使用者输入数字,他偏偏输入汉字,因此软件可能会出现未知错误,用户使用系统的效率也会因此而降低,那么怎么才能解决这一问题呢?

             这需要用到一组验证控件,它们常用而方便为我们提供了验证功能,下面让我们看一看它们如何使用。

            

    验证控件
    验证控件名 验证内容
    RequireFieldValidator 验证输入的内容是否为空
    RangeValidator 检查输入的信息在某范围内
    RegularExpressionValidator 检查输入信息否则正则式
    CompareValidator 输入值与某个常数或者控件比较
    CustomValidator 服务端或客户端自定义验证规则
    ValidationSummary 显示验证控件的验证错误摘要

          

    验证控件相同属性
    属性 说明
    ControlToValidate 设置为要验证控件ID,无数据则显示ErrorMessage中字符串
    ErrorMessage 表示当检查不合法时出现的错误信息

                当然,每个控件根据作用不同有自己的特有属性,下面就来看一下它们自己的特有属性。

              【RequireFieldValidator】

                  Display:错误信息的显示方式,Static表示控件的错误信息在页面中占有固定位置,如果没有错误,它的显示类似于Label控件;Dynamic表示控件错误信息出现时占用页面空间;None表示错误出现时不显示提示信息,但是可以在ValidationSummary中显示。

                  Text:如果Display为Static,不出错时,显示该文本。

             代码:

            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="txtUserName" runat="server" ></asp:TextBox>
                    <asp:requiredfieldvalidator ID="require" ControlToValidate="txtUserName" Display="Dynamic" runat="server" errormessage="没有输入用户名!请输入!"></asp:requiredfieldvalidator>
                </td>
            </tr>

             在使用这个控件时,如果这个控件验证不通过,那么其他验证控件都不会起作用,可以说这个是验证通过的前提,至于为什么查了一下是这样的,如果设置了ErrorMessage属性,一旦输入框为空,无论你点击了页面的那个位置,都会有错误提示,而且,Page.IsValid属性的值只能取True,没有办法取得False值,如果输入框为空时,页面都没有办法刷新,不能起作用,自己感觉这样子用起来可能能够达到验证的目的,输入错误时页面不刷新,可能能够减少服务器的负担,但是给人的感觉非常不友好。

             【RangeValidator】

                  MaximumValue:范围的最大值。

                  MinimumValue:范围的最小值。

                  Text:如果Display为Static,不出错时,显示该文本。

                  Type:定义控件输入值类型,如String、Integer、Double、Data、Currency等,输入值先转换,再验证。

             【RegularExpressionValidator】

                   ValidationExpression:指定的正则表达式。

                 代码:

            <tr>
                <td>
                    <asp:Label ID="Label4" runat="server" Text="请输入Email:"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                    <asp:regularexpressionvalidator ID="regularexpressionvalidator1" runat="server" ControlToValidate="txtEmail" errormessage="Email格式不正确!" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:regularexpressionvalidator>
                </td>
            </tr>

     

             【CompareValidator】

                   Equal:当比较的两个值相等时,通过验证。

                   NotEqual:当比较的两个值不相等时,通过验证。

                   GreaterThan:当被验证的值大于指定的常数值或控件值时,通过验证。

                   GreaterThanEqual:当被验证的值大于等于被验证的常数值或控件值时,通过验证。

                   LessThan:当被验证的值小于指定的常数值或控件值时,通过验证。

                   LessThanEqual:当被验证的值小于等于被验证的常数值或控件值时,通过验证。

                   DataTyeCheck:当被验证的值与指定的常数值或控件值类型相同时,通过验证。

                   ControlToCompare:要进行比较的控件ID.

                   ValueToCompare:指定要比较的常用值。

              

             代码:

            <tr>
                <td>
                    <asp:Label ID="Label3" runat="server" Text="确认密码:"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="txtPassWordFirm" runat="server"></asp:TextBox>
                    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtPassWordFirm"
                        ControlToCompare="txtPassWord" ErrorMessage="两次输入密码不一致!"></asp:CompareValidator>
                </td>
            </tr>

               输入信息验证是每个系统或软件必不可少的功能,安全验证是增强系统安全性、可靠性的前提保证,输入验证智能化是我们发展的趋势,根据用户输入意图,智能输入、智能提示信息,才会是软件更方便用户,例如数据字典的使用,可以自动匹配用户输入信息;验证功能不只有控件可以实现,还可以用一些脚本如JavaScript来处理客户端脚本验证,减少服务器负担,我们需要更智能化的验证方式。

              JS表单验证:http://blog.163.com/qinyixin_0711/blog/static/139340070201071823916331/

  • 相关阅读:
    用OSCache进行缓存对象
    oscache的使用
    WHM(Web Hosting Manager)/CPANEL 设置及linux 文件权限 经验
    辗转相除法求最大公约数和最小公倍数【gcd】
    u6填写入库单单据报错
    账表名称无法显示
    商贸通反利怎么计算
    UFO报表转换不成功!请检查文件版本或使用DOS文件转换工具
    备份计划不执行
    821升级U6报错
  • 原文地址:https://www.cnblogs.com/lilongsheng/p/3226074.html
Copyright © 2020-2023  润新知