组长提了一个需求,前端传递过来参数的时候,我们要验证一下参数是否都传递过来了,所以我专门写了一个验证工具类,调用就好了。

第一个参数为 前端传递到Controller封装的实体类,第二个参数为这个实体类中哪些参数是必须要验证的,用list封装。

我把需要验证的参数统一写到了一个配置类,类似如下格式:

   public const string COURSE_ADD_PARAM = "courseName;auditor;author;" +
"courseDuration;teachingMethodId;courseUserId;courseLink;effectiveTime;" +
"expiryTime;coursePurpose;chapterCode;skillLevel";

然后根据;分割,拿到list传递给下述方法就好了。

   /*
* @Description:验真参数中指定的属性是否为空
* 如果只要有任意指定的参数属性为空 返回false
* 如果全部指定的参数属性不为空 返回true
* @Param T t,List<string> list
*/
public static Boolean VerificationParam<T>(T t,List<string> list)
{ if (t == null)
{
return false;
}
System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); if (properties.Length <= )
{
return false;
} foreach (System.Reflection.PropertyInfo item in properties)
{
string name = item.Name;
object value = item.GetValue(t, null);
if (value == null && list.Contains(name))
{
return false;
} } return true;
}

最新文章

  1. 如何安全地关闭MySQL实例
  2. webpack入坑之旅(五)加载vue单文件组件
  3. Google earth
  4. angularjs - 415 (Unsupported Media Type)
  5. dij单源最短路纯模板
  6. Android 设计模式
  7. 规范化ProjectEuler
  8. Sql Server 中事务(begin tran/commit tran/rollback tran)的用法
  9. iOS开发 编辑框被系统弹出的软键盘遮挡问题
  10. SQL点滴9—SQL Server中的事务处理以及SSIS中的内建事务
  11. Git:六、分支管理(指针操作)
  12. Codeigniter使用HMVC(一)
  13. 分区实践 注意分区名 p2018-01 p2018-02 被解释为同一分区名
  14. Ubuntu下环境变量的设置
  15. Web-URL编码流程图(详细了解乱码原因)
  16. es 5.0 拼音分词器 mac
  17. 简易页面场景滚动的jquery插件
  18. php中各种hash算法的执行速度比较
  19. 南京网络赛B-The writing on the wall
  20. Go并发与.Net TAP

热门文章

  1. Ubuntu19.04安装常用软件
  2. [b0011] windows 下 eclipse 开发 hdfs程序样例 (三)
  3. Python实现MQTT接收订阅数据
  4. SQL注入:宽字节注入
  5. adb 连接夜神和逍遥模拟器
  6. win10企业版LTSC批量激活
  7. echarts-带面积的折线图
  8. PoI 3.17 已过时代码对比
  9. python中调用httpclient接口的实例代码
  10. eth0: ERROR while getting interface flags: No such device的解决方法、Linux怎么修改IP以及ping不通的处理方法