C#,.net使用特性类,将json转为实体时验证字段
创建实体模型
实体模型使用C#提供的现有类RequiredAttribute该类位于命名空间using System.ComponentModel.DataAnnotations下引用命名空间using System.ComponentModel.DataAnnotations;
[Required(ErrorMessage = "库位ID不能为空")]public int PlanID { get; set; } //验证非空[Range(0, 10000, ErrorMessage = "长度异常")]public float UpLength { get; set; } //用于验证浮点类型范围
使用反射遍历实体的每一个字段
封装一个验证方法传入实体
public static string Validate<T>(this T t){Type type = t.GetType();//获取所有属性PropertyInfo[] propertyInfos = type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);List<string> errorList = new List<string>();foreach (PropertyInfo propertyInfo in propertyInfos){if (propertyInfo.IsDefined(typeof(ValidationAttribute)))//如果属性上有定义该属性,此步没有构造出实例{foreach (ValidationAttribute attribute in propertyInfo.GetCustomAttributes(typeof(ValidationAttribute))){if (!attribute.IsValid(propertyInfo.GetValue(t, null))){errorList.Add($"[{propertyInfo.Name}]" + attribute.ErrorMessage);}}} }return string.Join(",", errorList);}
也可自己继承Attribute类或ValidationAttribute类,写特性,在反射遍历实体的时候将ValidationAttribute替换为自己写特性类就行
重写特性参考其他博客 博客园https://www.cnblogs.com/fnz0/p/11387835.html
C#,.net使用特性类,将json转为实体时验证字段相关推荐
- xml转json和实体类的两种方式
本文为博主原创,未经允许不得转载: xml在http通信中具有较高的安全性和传输速度,所以应用比较广泛, 在项目中往往需要对xml,json和实体类进行相互转换,在这里总结一下自己所用到的一些方法: ...
- Datatable转为ListT / DataRow转为实体类对象
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...
- C# 使用自定义类+字典+JSON填充数据,脱离真实数据库,实现简单的增删改查和本地存储与读取数据
前言 这个文章将不会用到数据库,另辟蹊径去实现本地的存储与读取,增删改查!~ 之前写项目用到的思路,因为是非常小的项目,不想依赖数据库来增删改查,以此避免复杂的数据库环境支持和安装.之前想上网查找有没 ...
- JSON与实体类的转换
json字符串转为实体类: 引用jar包: com.alibaba.fastjson.JSONObject; Dept dept= JSONObject.parseObject(response, ...
- 动态修改实体类转json的属性名
//需要字段转换的序列维护public static final Map<String,Integer> o = new HashMap<>();static {o.put(& ...
- JSON的正确格式及JSON与实体类相互转换
json是一种与语言无关的数据交换的格式,使用Json的格式与解析方便的可以表示一个对象信息,json有两种格式:①对象格式:{"key1":obj,"key2" ...
- Android开发--使用实体类解析JSON文本
Android开发–使用实体类解析JSON文本 在Android开发过程中,涉及到了API的调用的时候,会返回特定的数据,两个主流返回的数据格式是JSON形式和XML形式.但是相对于XML,JSON数 ...
- 【小5聊】C# Json字符串转Model实体类以及Model实体类转Json字符串
1.引用DLL:Newtonsoft.Json.dll 引用自己项目兼容的dll版本安装 2.Json字符串转Model实体类 UserInfoModel model = new UserInfoMo ...
- IDEA插件之实体类转JSON —— POJO to JSON
下载插件: 插件使用方式:下载安装后,选中实体类右键,单击 Copy JSON 或 Copy JSON and Random Values ,然后 Ctrl+V 即可 Copy JSON 将实体类转 ...
最新文章
- Web生产:外部JS文件中的绝对URL?
- python3的位移操作
- python自动化开发教程_Python自动化开发实战视频课程-全新基础篇_Python教程
- JDK1.8源码(六)——java.util.LinkedList 类
- CG CTF WEB bypass again
- java hprof_java 性能之 hprof
- junit:junit_简而言之,JUnit:测试结构
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏...
- linux远程备份视频教程,linux实现自动远程备份(scp+ssh)
- 集合之HashSet
- VS生成dump文件和调试dump文件
- Java语言程序设计 基础篇 原书第10版梁勇著 课后编程练习题答案1
- 微信小程序自定义tabbar
- rfid破解 BLE Hacking
- JSON在JS中的应用
- JetBrain Rider使用技巧(持续更新)
- ictclas4j java_使用继续完善前人写的文章:使用ICTCLAS JAVA版(ictclas4j)进行中文分词...
- PyCharm 不能自动生成函数注释
- java转盘旋转算法,转盘抽奖算法(java)
- 爬取CSDN官方博客粉丝中码龄20年以上的用户数量
热门文章
- STM32之SPI和W25Q128
- 聊聊最简单的名词:频率
- 拼多多关键词搜索采集商品数据接口,拼多多分类ID搜索采集商品销量接口,拼多多上货接口,拼多多商品列表API接口
- 使用Android Studio做一个简易进制转换计算器
- 股票查询接口功能是什么?
- pgsql报错:User query might have needed to see row versions that must be removed.
- 2022.1.17学习总结
- android 定位轨迹功能,小步外勤怎么看轨迹 定位轨迹功能详解
- 同花顺_代码解析_技术指标_P、Q
- 小红的签到题 (shui