原文:asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化

  
一、自定义错误信息
        在上一篇文章中所做的验证,在界面上提示的信息都是系统自带的,有些读起来比较生硬。比如:

        如果你的环境是英文的,那么你的提示信息就是中英文夹杂的了。
 
        在这种情况下就需要用到自定义错误信息了。其实很简单,就是在model的验证特性中加上[ErrorMessage]。比如:
Model:

        [Required(ErrorMessage = "用户名不能为空!")]

        [Display(Name = "用户名")]

        [Remote("CheckUserName","Account")]

        public string UserName { get; set; }
验证结果:

        ErrorMessage允许开发者使用{0}占位符来显示字段的显示名(即[Display(Name = "用户名")]),如果没有Display特性,那么会显示属性名。如:
Model:

        [Required(ErrorMessage = "{0}不能为空!")]

        [Display(Name = "用户名")]

        [Remote("CheckUserName","Account")]

        public string UserName { get; set; }
验证结果:

若为:

        [Required(ErrorMessage = "{0}不能为空!")]

        //[Display(Name = "用户名")]

        [Remote("CheckUserName","Account")]

        public string UserName { get; set; }
则验证结果为:

        如果验证的特性中还有其他参数,那么ErrorMessage可以用占位符直接显示其他参数,如
Model:

        [Required]

        [StringLength(, ErrorMessage = "请输入{2}到{1}位的{0}。", MinimumLength = )]

        [DataType(DataType.Password)]

        [Display(Name = "密码")]

        public string Password { get; set; }
验证结果:

 
 
二、错误信息的本地化
        如果你做的项目是要分发到不同的国家,那么就需要做本地化。而对于错误信息而言,也有这样的功能,方法如下:
        1、在项目中添加两个资源文件ErrorMessages.resx以及ErrorMessages.en-US.resx:

        2、在两个资源文件中都加入名称为UserNameRequire的资源,值分别为中英文下的提示信息:

        
        3、在web.config的<system.web>节点加入<globalization uiCulture="auto"/>,随着浏览器的设置来更换资源文件。
        4、在Model中也如如下代码:

        [Required(ErrorMessageResourceType = typeof(ErrorMessages), ErrorMessageResourceName = "UserNameRequire")]

        [Display(Name = "用户名")]

        public string UserName { get; set; }
        5、运行结果:
中文环境下:

英文环境下:

 
        好了,mvc3中错误信息的自定义和本地化比较简单,暂时总结这么多,下一篇就要讲自定义数据验证了。
 

asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化的更多相关文章

  1. asp.net mvc3 数据验证(四)—Remote验证的一个注意事项

    原文:asp.net mvc3 数据验证(四)-Remote验证的一个注意事项         前几篇把asp.net mvc3 中基于Model的主要数据验证的方法都已经讲完了,本节纯粹只是讲一个我 ...

  2. asp.net mvc3 数据验证(三)—自定义数据注解

    原文:asp.net mvc3 数据验证(三)-自定义数据注解         前两节讲的都是asp.net mvc3预先设定的数据注解,但是系统自由的数据注解肯定不适合所有的场合,所以有时候我们需要 ...

  3. [oldboy-django][2深入django]form表单clean_xx, clean完成数据验证+ form错误信息

    form后台生成form里面的Input标签,以及设置Input的属性 # 需求 后台生成form里面的input标签,并设置input标签的属性, class RegisterForm(Form): ...

  4. ASP.NET MVC Model验证(二)

    ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决这个问题的,并且会描述一下 ...

  5. ASP.NET MVC遍历ModelState的错误信息

    在ASP.NET MVC中,ModelState中包含了验证失败的错误信息,具体被存储在ModelState.Values[i].Errors[j].ErrorMessage属性中.当然,通过打断点, ...

  6. ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true)

    http://www.wyjexplorer.cn/Post/2012/8/3/model-validation-in-aspnet-mvc3 ASP.NET MVC3中的Model是自验证的,这是通 ...

  7. 【转】ASP.NET MVC 数据验证及相关内容

    原文地址:http://www.jb51.net/article/56713.htm 一.数据验证 数据验证的步骤在模型类中添加与验证相关的特性标记在客户端导入与验证相关的js文件和css文件使用与验 ...

  8. ASP.NET MVC3 Model验证总结

    ASP.NET MVC3中的Model是自验证的,这是通过.NET4的System.ComponentModel.DataAnnotations命名空间完成的. 我们要做的只是给Model类的各属性加 ...

  9. ASP.NET MVC3 Model验证总结(转)

    推荐:   ASP.NET MVC的Model元数据与Model模板:预定义模板 http://www.cnblogs.com/artech/archive/2012/05/02/model-meta ...

随机推荐

  1. http协议和web本质(转)

    当你在浏览器地址栏敲入“http://www.cnblogs.com/”,然后猛按回车,呈现在你面前的,将是博客园的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员, ...

  2. 开放Nginx在文件夹列表功能

    nginx在列出的默认同意整个文件夹.你怎么转Nginx在文件夹列表功能?打开nginx.conf文件.在location server 要么 http段增加 autoindex on;另外两个參数最 ...

  3. n每个计数的概率和发生骰子--动态规划

    称号:该n骰子在地板上.所有点骰子的向上一面和一个S.进入n,打印S所有可能的值的概率. 声明思想非原创!仅仅因动态规划思想的使用非常好,记下. 分析:动态规划就是分阶段考虑问题.给出变量.找出相邻阶 ...

  4. Unity3D合并着色器

    unity 3d倒每次模型更多的是一种着色器.我可以拥有这些车型共享的地图想分享一个着色器.所以每次删除,然后附加,很麻烦.如何才能合并这些着色器? 采纳TexturePacking对 1.遍历gam ...

  5. 网络爬虫WebCrawler(1)-Http网页内容抓取

    在windows在下面C++由Http协议抓取网页的内容: 首先介绍了两个重要的包(平时linux在开源包,在windows下一个被称为动态链接库dll):curl包和pthreads_dll,其中c ...

  6. fastboot完成自己主动命令

    于Ubuntu13.10后来Ubuntu 14.04上,由APT安装fastboot以及adb该工具后, 发现fastboot在主动补充一个问题,, fastboot flash 自己主动有问题完成后 ...

  7. Android使用代码消除App数据并重新启动设备

    /** * 使用代码消除App数据 * 我们不寻常的清除App数据,中找到相应的App * 然后选择其清除数据.以下给出代码实现. * * 注意事项: * 1 设备须要root * 2 该演示样例中删 ...

  8. ABP项目中的使用AutoMapper

    AutoMapper之ABP项目中的使用 最近在研究ABP项目,昨天写了Castle Windsor常用介绍以及其在ABP项目的应用介绍 欢迎各位拍砖,有关ABP的介绍请看阳光铭睿 博客 AutoMa ...

  9. POJ 2777 Count Color(段树)

    职务地址:id=2777">POJ 2777 我去.. 延迟标记写错了.标记到了叶子节点上.. . . 这根本就没延迟嘛.. .怪不得一直TLE... 这题就是利用二进制来标记颜色的种 ...

  10. 详细解释VB连接access几种方法数据库

    在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...