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