zoukankan      html  css  js  c++  java
  • P28 输入验证:自定义Attribute



    对类界别的属性进行验证,也可以争对属性。。这里博主要做的是争对类级别的
    先在根目录建个文件夹叫做ValidationAttributes

    这次来个不合理的需求,让EmployeeNo不能等于FirstName

    新建类

    收下是需要继承 ValidationAttribute然后需要重写一个方法。

    重写IsValid方法。带参数ValidationContext参数的这个方法。

    参数Object value就是我们要验证的对象。


    value强转成dto对象


    或者也可以这么写。validationContext.ObjectInstance总会得到这个类的对象。

    如果用value的话,如果我作用与property属性这个界别的话,我就返回属性的值 ,作用于类的话,value就返回这个对象的值,所以value是可变化的,validationContext是不变的

    用于class级别

    运行程序测试


    为什么没有返回我们想要的错误呢,因为employeeNo有一个属性级别的错误。

    要求长度最低为10


    都改成10位的



    FirstName和LastName是通过接口验证的,

    EmployeeAddDto是我们使用的自定义Attribute进行验证的


    接口和Attribute他俩实现的效果基本是一样的。但是为什么要使用CustomAttribute呢?因为自定义的Attribute既可以作用于类级别,也可以作用于Property属性级别。
    如果属性级别的验证出现错误的话,那么这个类界别,无论是自定义的属性还是实现的validate接口,都不会被执行了。所以自定义的属性,在某些方面还是强于接口的方式的




    结束

  • 相关阅读:
    20162302
    20162302
    20162302 实验三《敏捷开发与XP实践》实验报告
    20162302 第九周作业
    20162302 第八周作业
    20162302 实验二《面向对象程序设计》实验报告
    20162302 第七周作业
    项目Alpha冲刺Day8
    项目Alpha冲刺Day7
    项目Alpha冲刺Day5
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12555559.html
Copyright © 2011-2022 走看看