我有抽象模型,它具有将被验证的属性。我想为控制器参数设置当前控制器。所以,我添加了从远程属性继承的自定义属性。问题是 validate 属性在模型绑定时应用一次。
[SimpleListRemoteValidation("ValidateName", HttpMethod = "POST", AdditionalFields = "Id,SimpleModelType")]
public string Name { get; set; }
SimpleListRemoteValidation 继承自 Remote 属性
public class SimpleListRemoteValidationAttribute:System.Web.Mvc.RemoteAttribute
{
public SimpleListRemoteValidationAttribute(string action)
: base(action, HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString())
{
}
}
有模型绑定
@foreach (var p in Model.GetProperties())
{
<td>
@Html.Editor(p.Name)
@Html.ValidationMessage(p.Name)
</td>
}
在第一次请求时,它会放入属性的构造函数中。如果我转到另一个控制器,它就不会发生。