zoukankan      html  css  js  c++  java
  • MVC之参数验证(二)

      MVC内部针对这此验证是如何实现的咧???现在我们就来分析一下这此验证的背后故事....

    1、ModelValidator与ModelValidatorProvider

      虽然Model绑定方式的因绑定参数数据类型的不同有所差异,但ASP.NET MVC中总使用modelValidator的对象对需要验证的对象实施验证,ModelValidator对象提供了一个抽象方法Validate()。
      ModelValidator是由ModelValidatorProviders提供的,ModelValidatorProviders是一个抽象类,有个抽象方法GetValidators供开发人员获取所需验证的模型对象.

    2、参数验证(运用篇)

      已经和大家交流了个MVC中的模型绑定,自定义模型验证规则,分享了那么多到底有什么用咧??现在我来和大家来一个运用篇-参数验证。大家都知道了MVC的请求机制->客户端请求(Request)->路由器分析(Routing)->控制器工厂(ControllerFactory)->控制器(Controller)->调用方法(Action Invoke)->创建(ActionInvoke实例对象)->获取参数信息(GetParameterValue)->绑定模型(ModelBinder)->获取验证器(GetValidators)->验证模型->进入方法体(Action)->Response且验证机制是给予Model验证,那问题来了 如何我们只是一个简单的参数,如何实现验证咧?让我们一起看一个如下实例吧。。。
      A、重写AcionInvoke实例对象

      B、获取参数验证器(参数信息与参数属性说明

      C、绑定模型:尽然MVC验证给予Model验证,那我们就给参数动态创建一个模型(继承MVC自身的DefaultModelBinder类),如图:


    4、使用方法

      ModelValidator是由ModelValidatorProviders提供的;
      一、配置验证器提供者:

      二、配置ActionInvoke实例

      三、配置参数属性信息

     MVC验证不仅仅限与参数信息、Model验证,它还可以对所有对象实施验证功能,实现高内聚低耦合(eg:XML....)让我们的程式越来越灵活...

  • 相关阅读:
    orale数据库的SQL查询
    pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))
    游标练习
    oracle 中使用 pl/sql代码块
    oracle 中怎样实现分页和去处重复
    小米的登陆页面
    tomcat建立双向https安全连接
    简单标签处理过程
    java反射机制
    tomcat配置加密的连接器https
  • 原文地址:https://www.cnblogs.com/tx720/p/5985827.html
Copyright © 2011-2022 走看看