[hibernate-issues] [Hibernate-JIRA] Commented: (HV-44) Make Hibernate Validator multi-lingual
Olle Hallin (JIRA)
noreply at atlassian.com
Mon Nov 12 15:36:30 EST 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/HV-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_28800 ]
Olle Hallin commented on HV-44:
-------------------------------
Forget about Tapestry for this discussion. Take JBoss Seam as another example of multi-lingual web framework.
Quote from Hibernate Validator Reference Manual (http://www.hibernate.org/hib_docs/validator/reference/en/html/validator-checkconstraints.html#d0e459)
<h:form>
<div>
<h:messages/>
</div>
<s:validateAll>
<div>
Country:
<h:inputText value="#{location.country}" required="true"/>
</div>
<div>
Zip code:
<h:inputText value="#{location.zip}" required="true"/>
</div>
<div>
<h:commandButton/>
</div>
</s:validateAll>
</h:form>
the Seam <s:validateAll> tag is supposed to execute Hibernate Validator and present error messages in the sessions
locale (according to the Seam 2.0 ref manual).
I've read the code of ClassValidator and *MessageInterpolator, and I cannot see how this could work without applying serious amounts of application code to bypass the inherent single-language design of ClassValidator. Perhaps this is the value that Seam adds. I might write a spike to test if it is so ;-)
Servlet-only (i.e., no ejb), multi-lingual web apps with Hibernate-persisted pojos is a very common use case.
Be it Tapestry, Seam, Spring MVC, Wicket, Struts or whatever presentation layer.
> Make Hibernate Validator multi-lingual
> --------------------------------------
>
> Key: HV-44
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-44
> Project: Hibernate Validator
> Issue Type: Improvement
> Affects Versions: 3.0.0.ga
> Reporter: Olle Hallin
>
> Hibernate Validator 3.0.0 is unfortunately useless in a multi-lingual web app, since it uses Locale.getDefault() for locating the validation message bundle.
> Each and every HTTP request can have a different locale, in it's own thread.
> Please add something in line with Spring's LocaleContextHolder (a ThreadLocal), which can be set early in the request handling chain. If not set, it could fall back to the platform's Locale.getDefault().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list