2
我已經安裝了我的MVC項目以使用Fluent驗證和Castle Windsor,並且所有工作都非常好。我正在使用自定義驗證工廠,以考慮我也在使用實體框架,並且必須考慮纏繞在我的POCO類中的動態代理。這裏是我的CastleWindsorValidatorFactory:Castle Windsor和Fluent驗證作爲MVC驗證程序
public override IValidator CreateInstance(Type validatorType)
{
if(validatorType.GetGenericArguments()[0].Namespace.Contains("DynamicProxies"))
{
validatorType = Type.GetType(String.Format("{0}.{1}[[{2}]], {3}", validatorType.Namespace, validatorType.Name, validatorType.GetGenericArguments()[0].BaseType.AssemblyQualifiedName, validatorType.Assembly.FullName));
}
return ResolveType.Of(validatorType) as IValidator;
}
一切運作良好時,驗證存在控制器動作模型綁定模型。如果該特定模型不存在驗證程序,則會出現Windsor無法解析該類型的錯誤。
但是,並非所有模型都需要驗證器。我可以寫一個空的,但這只是無用的代碼。當我試圖解析驗證器時,是否應該捕獲錯誤並忽略它? Castle裏面有什麼東西可以幫助我嗎?我該怎麼辦?