zoukankan      html  css  js  c++  java
  • MVC 验证和异常处理 重用服务端验证

    还记得之前做的自定义email地址合法性验证吗?

    public class ValidEmailAddressAttribute : RegularExpressionAttribute

    {

        private const string EmailPattern = ".+@.+\\..+";

        public ValidEmailAddressAttribute() : base(EmailPattern)

        {

            // Default message unless declared on the attribute

            ErrorMessage = "{0} must be a valid email address.";

        }

    }

    DataAnnotationsModelValidatorProvider是无法自动把自定义验证提供给客户端的(近限它自己的四种[Range],[RegularExpression],[Required],[StringLength]),但是,它有四个适配器:

    •  RangeAttributeAdapter

    •  RegularExpressionAttributeAdapter

    •  RequiredAttributeAdapter

    •  StringLengthAttributeAdapter

    对于继承自RegularExpressionAttribute的自定义验证属性,可以通过这么做,让DataAnnotationsModelValidatorProvider 也支持客户端的ValidEmailAddressAttribute。

    protected void Application_Start()

    {

        AreaRegistration.RegisterAllAreas();

        RegisterRoutes(RouteTable.Routes);

        DataAnnotationsModelValidatorProvider.RegisterAdapter(

            typeof(ValidEmailAddressAttribute), 

            typeof(RegularExpressionAttributeAdapter)

        );

    }

  • 相关阅读:
    个人博客开发之blogapi项目统一结果集api封装
    个人博客开发之blogapi 项目整合JWT实现token登录认证
    C语言I博客作业06
    C语言l博客作业03
    C语言I博客作业04
    C语言I博客作业05
    C语言I博客作业01
    C语言I博客作业07
    C语言I博客作业02
    UVA 11427 Expect the Expected [概率]
  • 原文地址:https://www.cnblogs.com/wusong/p/1971919.html
Copyright © 2011-2022 走看看