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

Reply via email to