cws, That is correct. An InvalidStateException is thrown right at the point of the session.Flush() method call.
Should I just swallow this exception and assume that the validation errors have already been handled within the application? Thanks for your thoughts! On Jun 17, 2:00 pm, cws <[email protected]> wrote: > The session will not allow flush because of the invalidity, will it? > > On 17 Juni, 21:00, Gary Brunton <[email protected]> wrote: > > > I just started looking into NHibernate.Validator and love the > > integration it has with NHibernate. I do have a question though. > > > I see many examples of how to perform validation using NHV on a newly > > created entity like so: > > > Customer customer = new Customer(); > > ... > > customer.Phone = "343-343-343"; //INVALID VALUE > > customer.Zip = "34334"; //INVALID VALUE > > > ValidatorEngine validator = new ValidatorEngine(); > > > if (validator.IsValid(customer)) > > { > > repo.Save(customer); > > > } > > > But I can't find an example of performing validation on an entity > > retrieved from a repository and then updated. ex: > > > Customer customer = repo.Get(1); > > ... > > customer.Phone = "343-343-343"; //INVALID VALUE > > > foreach (InvalidValue error in validatorEngine.Validate(customer)) > > { > > // display the errors... > > > } > > > from here I can retrieve the validation errors no problem but the > > customer entity is now dirty and my unit of work will try to flush/ > > commit the changes which causes an InvalidStateException. I don't > > want to handle this exception here as it is assumed I've already > > realized the entity is invalid and handled the validation errors as > > desired. > > > Now from here I see a couple of options that I don't like: > > 1. I could swallow all InvalidStateExceptions > > 2. I could set some global error state when a validation error has > > been found by the validation engine and then always check this global > > error state before flushing/committing within my UOW. > > > Am I missing something here? > > > Any insight would be greatly appreciated. Thanks! > > > Gary Brunton --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
