c# - 从 ActionFilterAttribute 中的 ActionContext 访问模型上的属性
问题描述
给定一个自定义ActionFilterAttribute ,有没有办法在重写的 OnActionExecuting 方法中使用HttpActionContext访问动作模型上的属性?
如果属性不是特定类型,我希望抛出异常。
例如:
存在一个名为 的自定义属性[CustomRequired]
。如果模型上有任何用法[Required]
,则抛出异常。该模型应该使用[CustomRequired]
,而不是[Required]
public class ModelValidationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
ValidateModelAttributes(actionContext);
}
private static void ValidateModelAttributes(HttpActionContext actionContext)
{
var attrs = actionContext.ActionDescriptor.GetParameters();
foreach (var attr in attrs)
{
// if attr is not type then throw exception
}
}
}
解决方案
推荐阅读
- sql - Access 要求输入一个值
- c - 关于c中的函数重载
- javascript - VSC 从哪里获得工具提示中显示的信息?
- c++ - 如何计算二维数组中的重复数?(C++)
- javascript - 如何使用提交按钮添加多个下拉表单组合值并制作另一个html页面名称去它
- python - Python-Treeview Tkinter,显示模糊/像素化和索引问题
- javascript - Konva.js 用文本在 Img 元素周围虚线描边
- python - 如何在python中替换/删除字符串
- java - 刷过片段然后应用程序崩溃
- javascript - 稍后当它有图像时更新 DOM。这是在 ngFor 下运行的