zoukankan      html  css  js  c++  java
  • 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(100, ErrorMessage = "请输入{2}到{1}位的{0}。", MinimumLength = 6)]
    
            [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中错误信息的自定义和本地化比较简单,暂时总结这么多,下一篇就要讲自定义数据验证了。
     

    移步我最优惠网,尽享全网折扣商品。

    PS:我最优惠网是一个汇集京东、天猫、Amazon等知名电商优惠活动和商品的网站,更精明的剁手,从我最优惠开始

  • 相关阅读:
    Android 自定义android控件EditText边框背景
    Android安全问题 静音拍照与被拍
    Android 自绘TextView解决提前换行问题,支持图文混排
    Android EditText属性
    Android invalidate()自动清屏,屏幕刷新
    Cocos2d-x 3.0final 终结者系列教程12-Vector&amp;map&amp;value
    思维方式--SMART原则
    从.net复制源代码中国农历阵列,必要做日历
    POJ 3071-Football(可能性dp)
    mongodb group包(最具体的、最受欢迎、最容易理解的解释)
  • 原文地址:https://www.cnblogs.com/zhangkai2237/p/2806397.html
Copyright © 2011-2022 走看看