I think you are missing the SharedEngineProvider thing, specially this part:
Environment.SharedEngineProvider = XYZ;
something like:
Environment.SharedEngineProvider = MyEngineProvider(validatorEngine);
this way you tell NHibernate what engine should use.
http://fabiomaulo.blogspot.com/2009/02/diving-in-nhibernatevalidator.html
I wrote a post in nhforge sometime ago:
http://nhforge.org/wikis/howtonh/setup-nhv-fluently-with-your-ioc-container.aspx
2010/1/2 Stephan Zahariev <[email protected]>
> Hello
>
> I'm using NHibernate 2.1.2.4000 and NHibernate.Validator 1.2.0.3001. I
> have read this post
> http://fabiomaulo.blogspot.com/2009/02/nhibernatevalidator-fluent-interface.html
> but unfortunately the validation is not working as expected. Entities
> with invalid values are still persisted without exception.
>
> My configuration code looks like this:
>
> private static readonly NHibernate.Cfg.Configuration
> Configuration;
> private static readonly ISessionFactory SessionFactory;
>
> static NHibernateSessionFactory()
> {
> Configuration = Fluently.Configure()
> .Database(MsSqlConfiguration.MsSql2008
> .ConnectionString(c =>
> c.FromConnectionStringWithKey
> ("NavigatorConnectionString")).UseReflectionOptimizer())
>
> // Mappings
> .Mappings(m => m.FluentMappings.AddFromAssembly
> (Assembly.Load("Navigator.Data")).ExportTo(@"C:\Temp"))
>
> // Properties
> .ExposeConfiguration(x => x.Properties.Add
> (Environment.UseSecondLevelCache, "false"))
> .ExposeConfiguration(x => x.Properties.Add
> (Environment.GenerateStatistics, "true"))
> .ExposeConfiguration(x => x.Properties.Add
> (Environment.ShowSql, "true"))
> .BuildConfiguration();
>
> //Init NHibernate Validator
> var configure = new
> NHibernate.Validator.Cfg.Loquacious.FluentConfiguration();
> configure
> .SetDefaultValidatorMode(ValidatorMode.UseExternal)
> .Register(Assembly.Load("Navigator.Validator")
> .ValidationDefinitions())
> .IntegrateWithNHibernate
> .RegisteringListeners();
>
> var validatorEngine = new ValidatorEngine();
> validatorEngine.Configure(configure);
>
> ValidatorInitializer.Initialize(Configuration,
> validatorEngine);
>
> SessionFactory = Configuration.BuildSessionFactory();
> }
>
> The Rules are defined like:
>
> public class LapRules : ValidationDef<Lap>
> {
> public LapRules()
> {
> Define(x => x.Notes)
> .LengthBetween(5, 50)
> .WithMessage(RuleMessenger.LengthBetween("Notes", 5,
> 50));
> }
> }
>
> After saving the Lap entity to the database, with Notes property = ab,
> no exception is raised. I have used the NHibernate.Validator v 1.0
> with attributes above the entity properties and exception was raised
> during the persistance of invalid entity.
>
> I have debugged the application and the Assembly.Load
> ("Navigator.Validator").ValidationDefinitions() returns the correct
> number of *Rules classes. As well the line
> ValidatorInitializer.Initialize(Configuration, validatorEngine);
> correctly registers
> NHibernate.Validator.Event.ValidatePreInsertEventListener to the
> EventListeners.PreInsertEventListener collection.
>
> So the question is what I'm doing wrong?
>
> Best regards
> Stephan
>
> --
>
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.