> I see these parameters on the same level as validatedValue which is an EL thing. I am not sure I see the inconsistency atm.

Yes, maybe even _validatedValue_ should have been exposed for parameter interpolation via _{validatedValue}_ in the spec. My point is, for simply displaying an attribute, it doesn't need EL, normal parameter interpolation would suffice. And one actually has to use _{foo}_ instead of _${foo}_ to display foo if it is a constraint attribute. But I have to use _${foo}_ if foo is a custom attribute. To somone authoring the error messages file this might be confusing. So why not allow _{foo}_ in both cases to simply print the value?

The other thing is the spec refers to things like _{foo}_ as "message parameters", but the new method `addMessageParameter()` doesn't add message parameters as per that definition but it adds attributes to be bound into the EL context. So IMO we should add least adapt the name and/or documentation to clarify the behavior.

> I don't see a reason why we should forbid that. It is up to the author in this case.

Ok.