版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新教材高考地理二轮复习一8类识图技法专项训练技法7统计图判读含答案
- 新普惠自动气象站通讯协议
- 第二十六章 二次函数(15类题型突破)
- 第二十五章 图形的相似 综合检测
- 天津市和平区2024-2025学年高一上学期11月期中英语试题(含答案含听力原文无音频)
- 山西省榆社中学2024-2025学年高二上学期11月期中英语试题(含答案无听力原文及音频)
- 江西省上饶市新知学校2024-2025学年高二上学期十一月化学月考卷(含答案)
- 青海省海东市互助县2023-2024学年九年级上学期期中教育质量检测英语试题
- 2024年六年级英语秋季学期期中质量监测试题
- 2024年简单广告制作合同范本
- 教科版三年级科学上册《第1单元第1课时 水到哪里去了》教学课件
- 国际贸易术语2020
- 国网新安规培训考试题及答案
- 第六单元测试卷-2024-2025学年统编版语文三年级上册
- 【课件】Unit4+Section+B+(Project)课件人教版(2024)七年级英语上册
- 青少年法治教育实践基地建设活动实施方案
- 绿化养护续签合同申请书范文
- 教科(2024秋)版科学三年级上册2.6 我们来做“热气球”教学设计
- 追要工程款居间合同范本2024年
- 2024至2030年中国氮化硅轴承球行业市场全景调查及投资前景分析报告
- 三年级上《时分秒》教材解读
评论
0/150
提交评论