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
-~----------~----~----~----~------~----~------~--~---