MVC4 + EF为Model添加单独的验证属性

可使用以下方式给Model加上相关的meta验证属性,这样实体的验证属性就不会被例如EF或其他工具自动生成的Model所替换了.

using System.ComponentModel.DataAnnotations;

namespace IDO.Entities
{
 [MetadataType(typeof(CustomerMetadata))]
 partial class Customer
 {
 }

public class CustomerMetadata
 {
  [Required(ErrorMessage = "{0}不能为空")]
  public string Name { get; set; }

[Required(ErrorMessage = "{0}不能为空")]
  [StringLength(11, ErrorMessage = "{0}不能超过{1}位")]
  [RegularExpression(@"^1[3458]\d{9}$", ErrorMessage = "{0}格式无效")]
  public string Mobile { get; set; }

[RegularExpression(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "{0}格式无效")]
  public string Email { set; get; }

[Required(ErrorMessage = "{0}不能为空")]
  public string Title { get; set; }
 }
}

时间: 2024-10-06 09:39:18

MVC4 + EF为Model添加单独的验证属性的相关文章

EF Core Model更新迁移

EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. 本文将以一个示例进行简单明了的演示输出.(不会很详细,只记录主要步骤) 当下我们已经有了一个ASP.NET Core的web应用程序,本文我们所关心的只有2个: 1.Model 2.DB Table 当下: Model 最后一个为导航属性,无视. Table 现在我们要在Model/Student.

MVC4 中的Model显示设置(含显示Shared/DisplayTemplates和编辑Shared/EditorTemplates)

虽然 [Display(Name="XXX")]已经能在页面中@Html.LabelFor(m=m.属性)中显示其值,但是不够灵活,特别是在@Html.EtitorForModel()或@Html.DisplayForModel()时,我们想要根据自己的要求来显示信息,那么我们就要根据情况 实现步骤如下: 1. 在View 下的shared文件夹下添加EditorTemplates文件夹 2.在EditorTemplates 添加视图(不继承任何模板)  如添加 视图 YesOrNo.

IdentityServer4 使用OpenID Connect添加用户身份验证

使用IdentityServer4 实现OpenID Connect服务端,添加用户身份验证.客户端调用,实现授权. IdentityServer4 目前已更新至1.0 版,在之前的文章中有所介绍.IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API . 本文环境:IdentityServer4 1.0  .NET Core 1.0.1 下面正式开始. 新建IdentityServer4服务端 服务端也就是提供服务,如QQ

为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

4. 为CDH 5集群添加Kerberos身份验证4.1 安装sentry1.点击"操作","添加服务":2.选择sentry,并"继续": 3.选择一组依赖关系 4.确认新服务的主机分配 5.配置存储数据库:在mysql中创建对应用户和数据库: mysql>create database sentry default character set utf8 collate utf8_general_ci; mysql>grant al

asp.net mvc4 razor视图 (之) 添加 所见即所得 富文本编辑框

原文地址:http://www.dotnetfunda.com/articles/show/2657/implementing-richtexteditor-or-wysiwyg-tinymce-in-aspnet-mvc 总结下: 通过"管理Nuget程序包"功能添加tinymce到专案. 然后对于需要变成wysiwyg的输入框添加属性,AllowHtml和UIHint即可,如下: [AllowHtml] [UIHint("tinymce_full_compressed&q

MVC4商城项目二:用户身份验证的实现

用户身份验证,依赖于 forms 身份验证类:FormsAuthentication,它是一串加密的cookie 来实现对控制器访问限制和登陆页面的访问控制.它在浏览器端是这样子的: 需求:我们要实现对用户中心只有登录的用户才能访问,如果没登录就跳转到登录页面,其它页面都可以访问: 首先来看登录控制器的代码: UserDto user = UserService.GetUserById(Convert.ToInt32(msg.Msg)); //为提供的用户名提供一个身份验证的票据 FormsAu

为easyui添加多条件验证

easyui的验证框架,validatebox不能有效的支持多个条件的验证,比如中文用户名,既要验证其是中文,又要验证其长度不超过6位时便显得很繁琐,需要反复的为easyui添加验证规则. 在此实现一个多个条件验证的验证规则,使验证规则通过参数传入自定义的验证规则中. 首先为easyui添加两个验证规则,即验证中文,和长度的规则. $.extend( $.fn.validatebox.defaults.rules,{ length : {//验证长度 validator : function(v

HTML5内置邮箱验证属性

只需给提交的表单(邮箱)添加只需要type=“email”即可. 例: <form action="" method="post"> <label for="email">邮箱:</label><input id="email" name="email" type="email" /> <button type="submi

parsley之验证属性设置

parsley.js添加表单验证功能,直接在html元素中添加对应属性: Name API Description Required #2.0必填 required HTML5 data-parsley-required   data-parsley-required="true"   data-parsley-required="false"   验证元素是否必填.如果设置 data-parsley-required="false",,属性失效