2014-11-13 8 views
0

Nancy와 함께 Nancy를 IoC로 사용하고 있습니다. 모두 괜찮습니다. 이제 FluentValidation을 추가해야합니다. Ninject를 통해 FluentValidation을 사용하기 위해 Nancy를 배선하는 방법은 무엇입니까?Nancy와 Ninject를 사용하여 플루 언트 밸런싱 연결하기

NuGet 패키지 Ninject.Fluent.Validation이 있지만 사용 방법에 대한 예제 또는 예제를 찾을 수 없습니다.

NancyFx 웹 사이트의 데모 프로젝트는 TinyIoC를 사용하므로 나에게 도움이되지 않습니다.

UPDATE : 이것은 내가 할 노력했다 것입니다 :합니다 (CreateConsumerRequestValidator에 의해보고 된 오류를가한다하더라도)

var createRequest = this.BindAndValidate<CreateRequest>(); 

if (!ModelValidationResult.IsValid) 
{ 
    return Response.AsJson(ModelValidationResult, HttpStatusCode.BadRequest);  
} 

모델은 항상 유효합니다.

이 내 Ninject에 부트 스트 래퍼에 추가 한 것입니다 :

는 IModelValidatorFactory가 v0.12에서 낸시에 의해 자동으로 연결되어
Bind<IModelValidatorFactory>().To<FluentValidationValidatorFactory>().InSingletonScope(); 

AssemblyScanner.FindValidatorsInAssemblyContaining<CreateRequestValidator>() 
.ForEach(match => Bind(match.InterfaceType).To(match.ValidatorType)); 

답변

0

(여기 Configure NancyFx with Fluent Validation 참조) - 당신은 당신의 검증을 연결할 필요가있다.

using FluentValidation; 

using Ninject.Extensions.Conventions; 
using Ninject.Modules; 

public class ValidatorModule : NinjectModule 
{ 
    public override void Load() 
    { 
     this.Kernel.Bind(
      x => 
      x.FromAssembliesMatching("YourNameSpace.*") 
      .SelectAllClasses() 
      .InheritedFrom<IValidator>() 
      .BindAllInterfaces()); 
    } 
} 
낸시 0.23와 함께 작동