Do I need to add "AssemblyScanner.FindValidatorsInAssemblyContaining" for every object validator I create? Is there a simpler way?
public class FluentValidatorModule : NinjectModule
{
public override void Load()
{
AssemblyScanner.FindValidatorsInAssemblyContaining<OfficeModelValidator>()
.ForEach(match => Bind(match.InterfaceType).To(match.ValidatorType));
}
}
Also, when I perform submit, the CreateInstance method in my NinjectValidatorFactory keeps getting called multiple times during one postback. Why is that happening?
public class NinjectValidatorFactory : ValidatorFactoryBase
{
private IKernel _kernel;
public NinjectValidatorFactory(IKernel kernel)
{
_kernel = kernel;
AddBindings();
}
public override IValidator CreateInstance(Type validatorType)
{
var bindings = (IEnumerable<IBinding>)_kernel.GetBindings(validatorType);
return bindings.Count() > 0 ? _kernel.Get(validatorType) as IValidator : null;
}
private void AddBindings()
{
_kernel.Bind<ILookupService>().To<LookupService>();
}
}