天天看点

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

  

一、自定义错误信息

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

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

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

        如果你的环境是英文的,那么你的提示信息就是中英文夹杂的了。

        在这种情况下就需要用到自定义错误信息了。其实很简单,就是在model的验证特性中加上[ErrorMessage]。比如:

Model:

验证结果:

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

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

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

若为:

则验证结果为:

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

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

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

二、错误信息的本地化

        如果你做的项目是要分发到不同的国家,那么就需要做本地化。而对于错误信息而言,也有这样的功能,方法如下:

        1、在项目中添加两个资源文件ErrorMessages.resx以及ErrorMessages.en-US.resx:

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

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

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

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

        4、在Model中也如如下代码:

        5、运行结果:

中文环境下:

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

英文环境下:

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

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

继续阅读