1

nhibernate バリデーターをアプリケーションに統合していますが、すべてが属性で問題ありませんが、 *.nhv.xml ファイルを作成して検証ルールをそこに移動するとすぐに (埋め込みリソースとして)

ValidatorEngine.Validate(entity)
間違ったものを返します(実際には何もなく、私のInvalidValue[]コレクションは空です

私はコメント/アドバイスを適切にします

4

1 に答える 1

2


問題は、最初にnhibernate バリデーターの構成部分が原因でした。

NHibernateSharedEngineProvider
配属されるべき
NHibernate.Validator.Cfg.Environment.SharedEngineProvider
次に、現在のエンジンの
Configure
の新しいインスタンスではValidatorEngine
ないため、完全な構成セクションは次のようになります。

           var provider = new NHibernateSharedEngineProvider();
           NHibernate.Validator.Cfg.Environment.SharedEngineProvider = provider;

var nhvConfiguration = new FluentConfiguration(); nhvConfiguration .SetDefaultValidatorMode(ValidatorMode.UseExternal) .Register(Assembly.Load("assembley name") .ValidationDefinitions()) .IntegrateWithNHibernate .ApplyingDDLConstraints() .And .RegisteringListeners(); var validatorEngine = NHibernate.Validator.Cfg.Environment.SharedEngineProvider.GetEngine(); validatorEngine.Configure(nhvConfiguration);
于 2010-06-20T08:06:43.383 に答える