我正在尝试向我的模型添加WarningCheck
属性,我会覆盖OnActionExecuting
来控制验证。问题是代码永远不会被调用。
WarningCheckAttribute
[AttributeUsage(AttributeTargets.All)] // I have tried other targets too without success
public class WarningCheckAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
/* DO SOME STUFF */
}
}
模型
public class Ticket
{
...
[StringLength(50)]
[Display(Name = "Cliente")]
[Required(ErrorMessage = "Il Cliente è obbligatorio.")]
[WarningCheck]
[MaxLength(50, ErrorMessage = "Il nome del Cliente può essere al massimo di 20 cifre."), MinLength(3, ErrorMessage = "Il nome del Cliente è troppo corto. Inserire almeno 3 caratteri.")]
public string Cliente { get; set; }
...
答案 0 :(得分:3)
顾名思义,操作 FilterAttribute应该应用于操作,而不应用于属性。
[WarningCheck]
public ActionResult Create(Ticket ticket)
{
}