假设:
propA
。假设我有一个发布到ASP.NET MVC 5 Web服务器的页面,我的模型propA
是根据用户输入的TextBox值设置的。但我想知道,如果我可以在验证我的模型的Web服务器中运行FluentValidation之前注入我自己的序列化方法来更改propA
的值吗?
有可能吗?
答案 0 :(得分:1)
FaledValidation和DataAnnotation方法的验证在绑定模型后工作,因此您可以为模型创建自定义ModelBinder:
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 70, 320, 44)];
在global.asax中注册
public class YourBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var model = (YourModel)base.BindModel(controllerContext, bindingContext);
model.PropA = model.PropA + " catched before validation";
return model;
}
}
并传递模型类型的参数:
protected void Application_Start()
{
ModelBinders.Binders.Add(typeof(YourModel), new YourBinder()); // asssociate model type with binder
}