zoukankan      html  css  js  c++  java
  • MVC验证06-自定义错误信息

    本文体验自定义错误信息。

      系统默认的错误信息

    在"MVC验证02-自定义验证规则、邮件验证"中,我们自定义了一个验证Email的类。如果输入邮件格式错误,出现系统默认的报错信息。

    效果:
    邮件验证1             

     

      通过ErrorMessage来修改错误信息

    [Email(ErrorMessage = "Email格式错误")]
    [Display(Name = "邮件")]
    public string Email { get; set; }

    效果:
    自定义错误1

      在自定义验证特性中重写FormatErrorMessage方法

    using System.ComponentModel.DataAnnotations;
    using System.Text.RegularExpressions;
    using System.Web.Mvc;
     
    namespace MvcValidation.Extension
    {
        public sealed class EmailAttribute : ValidationAttribute, IClientValidatable
        {
            public const string reg = @"^[w-]+(.[w-]+)*@([w-]+.)+[a-zA-Z]+$";
     
            public EmailAttribute()
            {  
            }
     
            //重写基类方法
            public override bool IsValid(object value)
            {
                if (value == null)
                    return true;
     
                if (value is string)
                {
                    Regex regEx = new Regex(reg);
                    return regEx.IsMatch(value.ToString());
                }
                return false;
            }
     
            public System.Collections.Generic.IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
            {
                ModelClientValidationRule rule = new ModelClientValidationRule
                {
                    ValidationType = "email",
                    ErrorMessage = FormatErrorMessage(metadata.GetDisplayName())
                };
                yield return rule;
            }
     
            /// <summary>
            /// 格式化错误信息
            /// </summary>
            /// <param name="name">属性名</param>
            /// <returns></returns>
            public override string FormatErrorMessage(string name)
            {
                return  this.ErrorMessage ?? string.Format("{0}属性没有输入正确的Email", name);
            }
        }
    }
     

    效果:
    自定义错误2

  • 相关阅读:
    大象中原
    自己动手,编写神经网络程序,解决Mnist问题,并网络化部署-网络化部署
    自己动手,编写神经网络程序,解决Mnist问题,并网络化部署-编写网络
    py4CV例子2.5车牌识别和svm算法重构
    py4CV例子3Mnist识别和ANN
    【CC评网】2013.第41周 不求排版,简单就好
    【CC评网】2013.第39周 漂亮的作息表
    【CC评网】2013.第38周 要阅读 要有好工具
    书评 《软件随想录》
    BerkeleyDB 多索引查询
  • 原文地址:https://www.cnblogs.com/darrenji/p/3581320.html
Copyright © 2011-2022 走看看