我有抽象模型,它具有将被验证的属性。我想为控制器参数设置当前控制器。所以,我添加了继承自Remote属性的自定义属性。问题是当模型绑定时,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>
}
在第一个请求中,它放入属性的构造函数。如果我转到另一个控制器,它就不会发生。