That is exactly what I was looking for! Thanks!
On Aug 19, 6:55 pm, Dario Quintana <[email protected]> wrote: > Hey > > The answer it's called Constraint Validator Context. > > You can see some code of example of how to manage even multiples messages > for the same > propertyhttps://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHi... > > And for Entity Validation, example > here:https://nhcontrib.svn.sourceforge.net/svnroot/nhcontrib/trunk/src/NHi... > > You can even disable the default message, but, be sure to add another > message replacing the default one, otherwise if no-messages, ends in a > *valid* case. > > Cheers > > On Wed, Aug 19, 2009 at 7:12 PM, The Bread > <[email protected]>wrote: > > > > > > > Hello, > > > I am using NHibernate.Validator 1.2.0.2001 with the 2.1GA of > > Nhibernate. I am creating a custom class level validator and related > > attribute which I am using to validate some logic before allowing the > > object to be persisted. I want to update the default error message > > with details found during this validation but can't seem to figure out > > how to dynamically update the message property. Below is what I have > > at the moment. Any help would be greatly appreciated. > > > [AttributeUsage(AttributeTargets.Class)] > > [ValidatorClass(typeof(SectionInstanceValidator))] > > public class SectionInstanceAttribute : Attribute, IRuleArgs > > { > > private string message = string.Empty; > > public string Message > > { > > get { return message; } > > set { message = value; } > > } > > } > > > public class SectionInstanceValidator : IValidator > > { > > public bool IsValid(object value, > > IConstraintValidatorContext constraintValidatorContext) > > { > > if (value is Section) > > { > > string message = String.Empty; > > var section = value as Section; > > var numbers = section.SectionNumbers; > > var formats = > > Globals.BLL.Generic.GetAll<MasterSpecFormat>(); > > > //Verify all MasterSpecFormats have been defined > > foreach (var item in formats) > > { > > if (!numbers.Select(o => > > o.MasterSpecFormat).Contains(item)) > > { > > if (message == > > String.Empty) > > message += item.Name; > > else > > message += ", " + item.Name; > > } > > } > > if (!String.IsNullOrEmpty(message)) > > { > > //This is the dynamic message I want to return > > with the validation error. > > message = "Section number missing for " + > > message; > > return false; > > } > > else > > return true; > > } > > else > > return false; > > } > > } > > > Thanks, > > Chris > > -- > Dario Quintanahttp://darioquintana.com.ar --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
