版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章数据验证与注解ASP.NETMVC网站设计教程在ASP.NETMVCWeb开发中,从处理验证的位置可以分为客户端验证和服务端验证。客户端的验证基本上用脚本代码实现,如JavaScript或VBScript等。验证过程不提交到远程服务器,可以提供快速反馈,使用户能够及时察觉所填写数据的不合法性,给人一种运行桌面应用程序的感觉。服务器端验证通常用高级语言编写代码实现,如C#或VB等。所有的验证过程都交到远程服务器处理,可以用来避免出现一些漏洞或者异常。所有客户端输入的内容,都将送往服务器处理,验证数据的有效性。21.客户端验证的优点(1)本地机验证、方便、快捷;(2)可以减少服务器负载;(3)缩短用户等待时间;(4)用户体验好。2.客户端验证的缺点(1)只适用于满足字符、数字等特点规则的一些应用,无法适应复杂的规则;(2)兼容性不好。33.服务器端验证的优点(1)安全性高;(2)兼容性强;(3)可以对复杂的规则进行验证。4.服务器端验证的缺点(1)服务器负载重;(2)用户等待时间长;(3)用户体验一般。4(3)可以对复杂的规则进行验证。DatabaseGeneratedReadOnly(true)NETMVC内置数据验证属性NETMVC内置数据验证属性相比于JQuery插件或者AJAX第三方验证,基于ASP.DatabaseGeneratedReadOnly(true)与其他的验证属性不同,Remote所属的命名ColumnNotMapped服务器端验证进行了比较,分析了各自的优缺点和适合的应验证过程不提交到远程服客户端验证和服务端验证。ColumnNotMappedRemote属性利用服实现,如JavaScript或VBScript等。设置数据字段的格式设置数据字段是否只读相比于JQuery插件或者AJAX第三方验证,基于ASP.NETMVC框架的内置数据验证在使用更加方便,下面对ASP.NETMVC内置数据验证属性进行详细讲解。常使用的ASP.NETMVC内置数据验证属性如表4.1所示。表4.1ASP.NETMVC内置数据验证属性属性名Required说明必填验证StringLengthRangeRegularExpressionCompareMinLength输入长度验证(可用于密码输入字段)输入取值范围验证正则表达式验证,必须符合某个正则表达式比较验证输入字符串的最少长度验证(可用于密码输入字段)输入字符串的最大长度验证(可用于密码输入字段)回调验证电子邮件地址验证,返回值为true表示验证通过电话验证信用卡号码验证URL页面缓存验证MaxLengthRemoteEmailAddressPhoneCreditCardUrlOutputCache5Remote回调验证,即字段的远程验证。Remote属性利用服务器端的回调函数执行客户端的验证逻辑,当执行到Remote特性的元数据时,会自动地调用相应的控制器下的Action完成远程数据验证。与其他的验证属性不同,Remote所属的命名空间为System.Web.Mvc,并且需要在Scripts文件夹中导入jquery.validate.js和jquery.validate.unobtrusive.js两个文件。Remote远程验证的语法格式如下。[Remote(stringaction,stringcontroller,属性:ErrorMessage]参数action表示要调用的方法名,参数controller表示要调用的方法所在的控制器名,ErrorMessage属性表示未通过验证时错误信息。6ASP.NETMVC除了特定的属性验证,还具有强大的扩展性,允许继承某个验证类创建自定义的验证规则完成某些特殊的验证。比如在输入部门代码时,要求不能输入汉字,则可以创建自定义验证来实现。publicclassDeptAttribute:RegularExpressionAttribute{publicDeptAttribute():base(@"/[\u4E00-\u9FA5]/g"){}}创建完DeptAttribute自定义验证属性以后,所有部门信息输入时都可以直接使用该自定义验证属性进行验证。[DeptAttribute(ErrorMessage="部门代码不能含有中文")]publicstringDeptNo{get;set;}7数据注解也称为数据显示注解,主要作用是提升页面关键字段显示的友好性,比如字段FirstName在页面上的显示时设置为更合理的FirstName等。ASP.NET示注解如表4.3所示。MVC中常用的数据显表4.3ASP.NETMVC内置数据显示相关注解属性名Dispaly说明设置字段的显示名称DisplayNameScaffoldColumnDisplayFormatReadOnlyEditAbleDataTypeUIHintHiddenInput指定本地化的字符串(习惯用语类)隐藏HTML辅助方法设置数据字段的格式设置数据字段是否只读设置数据字段是否可编辑设置属性的数据类型设置动态数据用来显示数据字段的模板设置是否将属性值或字段值呈现为隐藏的input元素8数据映射是指模型中的C#类向数据库中表转换的对应关系,数据映射注解则表示这种转换时的约束。可以将C#中各类中的字段对应设置为数据表的主外键,也可以将字段设置为与表中的别名或者其他的对应字段,常用的数据映射注解如表4.4所示。表4.4ASP.NETMVC常见的数据映射注解属性名Key主键字段说明ColumnNotMappedTableForeignKeyDatabaseGeneratedReadOnly(true)数据库列属性映射不映射到对应的字段指定类将映射到的数据表表示关系中用作外键的属性指定数据库生成属性值的方式(只读的不可更新属性EF不追踪属性的变化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保姆合同范例做家务
- 教育机构财务部绩效考核方案
- 湖南省常德市临澧县某中学2025届高三年级上册第一次阶段性考试数学试题(含答案解析)
- Ponceau-4R-85-Standard-生命科学试剂-MCE
- 电力隧道施工方案与环境影响评估
- 村级资金应急预案方案
- 高层建筑泡沫灭火系统设计方案
- 村级会议室维修方案
- 油气行业安全文化建设方案
- 兄弟合建房合同模板
- 教科版三年级科学上册《第1单元第1课时 水到哪里去了》教学课件
- 2024年中国两轮电动车社区充电行业研究报告 -头豹
- 建筑工地突发事件处理预案
- 医学教程 胆囊癌诊治课件
- 第六单元测试卷-2024-2025学年统编版语文三年级上册
- 【课件】Unit4+Section+B+(Project)课件人教版(2024)七年级英语上册
- 青少年法治教育实践基地建设活动实施方案
- 绿化养护续签合同申请书范文
- 教科(2024秋)版科学三年级上册2.6 我们来做“热气球”教学设计
- 山西省运城市2024-2025学年高二上学期10月月考英语试题
- 4.3《课间》 (教案)-2024-2025学年一年级上册数学北师大版
评论
0/150
提交评论