asp.net mvc常用的数据注解和验证以及entity framework数据映射
终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了。
闲话少说,步入正题:
下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会陌生,
在此Model上我们用到了asp.net mvc的数据注解和验证,entity framework对数据库的映射
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using System.ComponentModel; namespace SnsModel
{
[Table("AdminInfo")]
public partial class AdminInfo
{
[Key]
[Display(Name = "编号:")]
[Column("Id")]
public int Id { get; set; } [Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Column(TypeName = "nvarchar")]
[MaxLength()]
[Display(Name = "用户名:")]
///[Remote("CheckUserName","Account")]
public string UserName { get; set; } [Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Column(TypeName = "nvarchar")]
[MaxLength()]
[MinLength()]
[Display(Name = "密码:")]
[DataType(DataType.Password)]
public string PassWord { get; set; } [Column(TypeName = "nvarchar")]
[Display(Name = "真实姓名:")]
[MaxLength()]
public string TrueName { get; set; } [Display(Name = "是否可用:")]
public bool? IsUseFul { get; set; } [ReadOnly(true)]
[Display(Name = "创建时间:")]
public DateTime CreatTime { get; set; } [Display(Name = "等级")]
public int? Orders { get; set; } [NotMapped]
[Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Display(Name = "新密码")]
[DataType(DataType.Password)]
public virtual string PassWord1 { get; set; } [NotMapped]
[Compare("PassWord1", ErrorMessage = "新密码和确认密码不一致!")]
[Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Display(Name = "确认密码")]
[DataType(DataType.Password)]
public virtual string PassWord2 { get; set; }
}
}
上面的代码很简单,在此没有必要过多解释什么。
最近在跟一些群友探讨asp.net mvc+ef的时候,很常见这样的问题,很多人舍弃了mvc的数据注解和验证,为什么呢?一些人可能是不太会,
另一些人是因为用了其他的jquery插件(如easyui),如此导致了一个后果,前台验证了后台没有验证。这将给项目带来很大的危险性,华而不实的项目是没有价值的。
本来在研究了一个月的easyui之后发现,easyui其实跟mvc也是能很好的兼容的。当然最开始的时候,我发现2者的jquery确实是冲突,细细研究整合之后,一切都是很OK的。
本来也是菜鸟级别,如言论和代码有什么错误之处,还望大牛们指点,小弟感激不尽。
以下为QQ群广告:
本群提供ASP.NET MVC,EF,LINQ,WEB API技术支持,不在乎人多,在乎人精。
ASP.NET MVC群 171560784
诚邀各路高手、初学者加入。
asp.net mvc常用的数据注解和验证以及entity framework数据映射的更多相关文章
- ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借
ASP.NET MVC深入浅出系列(持续更新) 一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...
- 数据注解和验证 – ASP.NET MVC 4 系列
不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性.服务器端验证,主要是因为来自网 ...
- 【ASP.NET MVC系列】浅谈数据注解和验证
[ASP.NET MVC系列]浅谈数据注解和验证 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...
- ASP.NET MVC5(四):数据注解和验证
前言 用户输入验证的工作,不仅要在客户端浏览器中执行,还要在服务端执行.主要原因是客户端验证会对输入数据给出即时反馈,提高用户体验:服务器端验证,主要是因为不能完全信任用户提供的数据.ASP.NET ...
- MVC学习手册之数据注解与验证
MVC学习手册之数据注解与验证 新建一个MVC5的WEB应用程序,VS2013会自动生成一段代码,以下是Account控制器下Register.cshtml 页面的代码: @model WebAppl ...
- MVC中的数据注解和验证
数据注解和验证 用户输入验证在客户端浏览器中需要执行验证逻辑. 在客户端也需要执行. 注解是一种通用机制, 可以用来向框架注入元数据, 同时, 框架不只驱动元数据的验证, 还可以在生成显示和编辑模型的 ...
- J2EE进阶(十三)Spring MVC常用的那些注解
Spring MVC常用的那些注解 前言 Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam,@ModelAttribute等等这样 ...
- 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图
如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?
- ASP.NET MVC 5 学习教程:通过控制器访问模型的数据
原文 ASP.NET MVC 5 学习教程:通过控制器访问模型的数据 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连 ...
随机推荐
- ubuntu桌面版打开终端Terminal的几种方法
1. Ctrl + Alt + T 快捷键直接打开2. 在Ubuntu左上角选择File/Open in Terminal 3. 快捷键alt+F2调出Run a Command,输入gnome-te ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- Remoting
一. Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极 ...
- DIH中添加不同的数据源
需求:从mysql数据库中读取一个知识记录,从记录表中的字段值中获取一个文件路径,读取xml文件,xml文件中可能包含多个文档内容.建立索引. xml文件样例: <?xml version=&q ...
- JSF HelloWord
JSF(Java Server Faces)是一种用于构建Web应用程序的新标准Java框架.提供了一种以组件为中心来开发Java Web的用户界面的方法,从而简化了开发. JSF是Java We ...
- 如何写出好的Java代码?
1. 优雅需要付出代价.从短期利益来看,对某个问题提出优雅的解决方法,似乎可能花你更多的时间.但当它终于能够正确执行并可轻易套用于新案例中,不需要花上数以时计,甚至以天计或以月计的辛苦代价时,你会看得 ...
- 2. Android框架和工具之 Volley
Java基础知识强化之网络编程笔记23:Android网络通信之 Volley(Google开源网络通信库)
- maven的update project是什么意思
一个是更新依赖,然后是clean projects,重新编译
- 设置UITableView背景透明/监听cell左边的删除按钮的点击事件
_tableView = [[UITableView alloc] init]; _tableView.delegate = self; _tableView.dataSource = self; _ ...
- 查询score中选学多门课程的同学中分数为非最高分成绩的记录。
20.查询score中选学多门课程的同学中分数为非最高分成绩的记录. select * from score a where sno in ( select sno from score group ...