我有很多使用相同验证限制的jsf2 web项目。
commons.jar library:
commons.jar
|
+ library
| |
| + CustomConstraint1.class
| + CustomConstraint2.class
|
+ ValidationMessages_it.properties
+ ValidationMessages_en.properties
+ ValidationMessages_de.properties
答案 0 :(得分:2)
- 我可以将所有这些约束放在共享库中吗?
醇>
是的,你可以。
- 如果是,我可以提供验证消息的转换吗?
醇>
是的,这也是可能的。
- 如果是,我怎样才能以标准方式实现?
醇>
例如,您有这样的约束:
package com.example.constraints;
@Target({
ElementType.FIELD,
ElementType.PARAMETER,
ElementType.METHOD
})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {
FooValidator.class
})
public @interface Foo
{
String message() default "{com.example.constraints.Foo.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
在类路径的根目录中指定ValidationMessages.properties
(对于应用程序的默认语言)。对于额外的区域设置,您应指定ValidationMessages_[locale].properties
文件。对于荷兰语区域设置,它应为ValidationMessages_nl.properties
。
然后在这些文件中,您将消息变量定义为键,将消息定义为如下值:
com.example.constraints.Foo.message=Foo is not valid
答案 1 :(得分:1)
您的捆绑适用于独立的jar。如果你使用它自己的约束和类路径根目录中的ValidationMessages.properties将这个jar放入ear / war中,它将无法工作。