Hi All,
One area I'd like to see a clarification on in the spec is around the
location of the validation.xml in a JavaEE web container environment. The
Bean Validation spec indicates the validation.xml is always at
META-INF/validation.xml. The JavaEE Platform spec states
WEB-INF/validation.xml should be used for web modules. The entire Bean
Validation spec has no mention of web modules, and seems to mainly focus on
JavaSE. However, it does mention integration points such as CDI and
JAX-RS, so I don't think it would be out of line to clarify in the Bean
Validation spec for web modules. Otherwise, the JavaEE Platform spec could
be changed to no longer state WEB-INF/validation.xml, but previous JavaEE
versions already include this, and the TCK uses the WEB-INF/validation.xml
location. Therefore, I'd expect a lot of users in the field to be using the
WEB-INF location.
The Bean Validation spec has the following section (page 206):
Unless explicitly ignored by calling Configuration.ignoreXMLConfiguration(),
a Configuration takes into
account the configuration available in META-INF/validation.xml. This
configuration file is optional but
can be used by applications to refine some of the Bean Validation behavior.
If more than one META-
INF/validation.xml file is found in the classpath, a ValidationException is
raised.
In contrasts the JavaEE Platform spec has (page 127 of JavaEE 7):
In order to customize the returned ValidatorFactory, an EJB, web or
application client module may specify a Bean Validation XML deployment
descriptor. The name of the descriptor is WEB-INF/validation.xml for web
modules and META-INF/validation.xml for all other types of modules.
--Nathan