Hello,

I have a class User which has Password and RepeatPassword (with
backing fields).
None of the 2 properties is persisted.

[ValidateNonEmpty]
public virtual string Password
{...}

[ValidateNonEmpty, ValidateSameAs( "Password",
 RunWhen = RunWhen.Insert | RunWhen.Update )]
public virtual string RepeatPassword
{...}

using this code:
CachedValidationRegistry registry = new CachedValidationRegistry();
ValidatorRunner runner = new ValidatorRunner( registry );

User admin = new User();
admin.Password = "1231";
admin.RepeatPassword = "123";

runner.IsValid( admin ) returns true, GetErrorSummary has no errors,
 however on admin.Create(), I get an AR exception:

ActiveRecordValidationException:
Can't save or update as there is one (or more) field that has not
passed the validation test
Same exception happens when I'm trying to save the instance in a
controller.

StackTrace:
at Castle.ActiveRecord.ActiveRecordValidator.ThrowNotValidException
(String[] validationErrorMessages, IDictionary
propertiesValidationErrorMessages)
at Castle.ActiveRecord.ActiveRecordValidationBase`1.OnNotValid()
at Castle.ActiveRecord.ActiveRecordValidationBase`1.BeforeSave
(IDictionary state)
at Castle.ActiveRecord.Framework.HookDispatcher.OnSave(Object entity,
Object id, Object[] state, String[] propertyNames, IType[] types)
at
NHibernate.Event.Default.AbstractSaveEventListener.SubstituteValuesIfNecessary
(Object entity, Object id, Object[] values, IEntityPersister
persister, ISessionImplementor source)
at
NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate
(Object entity, EntityKey key, IEntityPersister persister, Boolean
useIdentityColumn, Object anything, IEventSource source, Boolean
requiresImmediateIdAccess)
at NHibernate.Event.Default.AbstractSaveEventListener.PerformSave
(Object entity, Object id, IEntityPersister persister, Boolean
useIdentityColumn, Object anything, IEventSource source, Boolean
requiresImmediateIdAccess)
at
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId
(Object entity, String entityName, Object anything, IEventSource
source, Boolean requiresImmediateIdAccess)
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId
(SaveOrUpdateEvent event)
at
NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId
(SaveOrUpdateEvent event)
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient
(SaveOrUpdateEvent event)
at
NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate
(SaveOrUpdateEvent event)
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate
(SaveOrUpdateEvent event)
at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
at NHibernate.Impl.SessionImpl.Save(Object obj)
at Castle.ActiveRecord.ActiveRecordBase.InternalCreate(Object
instance, Boolean flush)
at Castle.ActiveRecord.ActiveRecordBase.Create()
at Model.Tests.UserTests.save_user_no_password_match()


Any help?
Dan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" 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/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to