您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > web应用程序设计第4章
11、用户输入验证概述2、使用ASP.NET验证控件3、页面验证第4章用户输入与验证21、用户输入验证◦概念:检查用户输入的值是否与给定的值、给定的范围或给定的格式匹配◦目的减少错误处理的等待时间避免非法的用户输入导致的错误结果避免非法的用户输入导致服务器崩溃避免欺骗或恶意代码阻止Web窗体进行下一步处理,直到所有的用户输入都通过验证一、用户输入验证概述3ASP.NET支持客户端验证和服务器端验证◦客户端和服务器端同时验证◦只在服务器端验证ASP.NET的用户输入验证流程ASP.NET验证控件集成了常用的客户端验证和服务器端验证的功能通过验证通过验证用户输入数据否否是是错误信息客户端服务器端Web应用程序处理4客户端验证和服务器端验证的区别安全性较低允许禁用客户端验证可以避免欺骗代码和恶意代码可与服务器上存储的数据进行比较验证,如与数据库密码进行比较使用基于.NET的开发语言实现与客户端浏览器版本无关安全性较高必然执行,重复所有客户端验证不能避免欺骗代码或恶意代码不能访问服务器资源使用Javascript和DHTML实现依赖于客户端浏览器版本服务器端验证客户端验证即时信息反馈需要服务器往返以显示错误信息5使用步骤:添加验证控件选择需要验证的输入控件设置验证控件属性asp:Type_of_Validatorid=Validator_idrunat=serverControlToValidate=txtNameErrorMessage=Message_for_error_summaryDisplay=static|dynamic|noneText=Text_to_display_by_input_control/asp:Type_of_Validatorasp:TextBoxid=txtNamerunat=server/6ErrorMessage属性◦指定验证失败后在验证控件中显示的文本◦显示在ValidationSummary控件中◦如果设置了Text属性,不显示ErrorMessageText属性◦指定将在验证控件中显示的文本◦任何情况下都不会显示在ValidationSummary控件中ErrorMessage已设置已设置未设置Text未设置已设置已设置结果显示ErrorMessage文本显示Text文本显示Text文本7RequiredFieldValidator控件◦InitialValue属性CompareValidator控件◦ValueToCompare或ControlToCompare属性◦Type属性◦Operator属性RangeValidator控件◦MinimumValue属性◦MaximumValue属性◦Type属性◦经常与CompareValidator控件结合使用8◦正则表达式编辑器◦VisualStudio.NET提供以下预定义模式电话号码邮政编码E-mail地址asp:RegularExpressionValidator…ControlToValidate=US_PhoneNumber…ValidationExpression=((\(\d{3}\)?)|(\d{3}-))?\d{3}-\d{4}…*/asp:RegularExpressionValidator9CustomValidator灵活性高,可以◦与给定的公式比较◦与存储在服务器中的数据比较,如存储在数据库中的密码◦通过调用Web服务比较10支持客户端、服务器端以及客户端和服务器端同时验证必须手动编写客户端和服务器端验证代码ClientValidationFunction属性◦用于验证的自定义客户端脚本函数的名称OnServerValidate属性◦服务器端验证函数的名称,函数的参数:args.Value:要验证的值args.IsValid:验证的结果举例:P79例4-2asp:CustomValidator…ClientValidationFunction=MyClientFunctionOnServerValidate=MyServerFunction/11多个验证控件应用于同一输入控件◦ControlToValidate属性设为同一值只有RequiredFieldValidator检查输入控件的值是否为空值,其他控件将“空”作为有效输入。组合使用验证控件的例子◦RequiredFieldValidatorRegularExpressionValidator121.Page.IsValid属性2.ValidationSummary控件13检查页面上所有的验证控件是否都通过验证使用Page.IsValid属性的原因◦验证控件不改变页面事件处理流程◦有条件地执行代码privatevoidcmdSubmit_Click(objects,System.EventArgse){if(Page.IsValid){Message.Text=PageisValid!;//执行数据库更新或其他程序逻辑}}14Page.IsValid返回False时显示错误信息在一个位置上汇总Web页上所有验证控件的错误信息DisplayMode属性BulletList:项目符号列表显示List:无符号列表显示SingleParagraph:单个段落显示若验证控件的ErrorMessage属性未设置,那么ValidationSummary控件将不显示该验证控件的错误信息;举例:P77例4-115ShowMessageBox属性:以消息框显示错误HeaderText属性:错误信息的标题使用ValiationSummary控件时,其他验证控件通常使用Text=“*”指示错误出现的位置禁用验证控件:验证控件的Enabled属性值为false修改Web控件的CausesValidation属性修改验证控件的EnableClientScript属性ASP.NET的验证控件具有ValidationGroup属性。通过该属性将页面中的所有验证控件分组验证目标控件具有ValidationGroup属性。如果设置该属性为某一个验证组,那么在回发过程中ASP.NET将只根据该组验证控件的验证结果来设置Page类的IsValid属性,即在此时Web页的验证与同一页的其他验证组无关。举例:P81例4-3
本文标题:web应用程序设计第4章
链接地址:https://www.777doc.com/doc-2855652 .html