我想创建一个自定义批注来验证ManagedBean中的一个属性,例如 @StartWithUpperCase
public @interface StartWithUpperCase{
//
}
和im manegedBean类,我使用我的注释,如:
public class myBean implements java.io.Serializable{
@StartWithUpperCase
@NotNull
private name;
}
我该怎么做。
首先将@Constraint
注释放在自定义验证注释类上。如您在javadoc中所看到的,@Constraint需要一个实现的验证实现类ConstraintValidator
。
您的自定义注释类必须具有:
String message()
属性Class<?>[] groups() default {}
属性Class<? extends Payload>[] payload() default {}
属性如果需要,它可以具有特定于验证实现的其他属性。
如果您希望注释的消息可本地化,那么Bean验证框架通过查找ResourceBundle
其标准名称为来支持国际化消息"ValidationMessages"
。约束注释的属性可以通过在括号中包含ResourceBundle键(例如)来利用ResourceBundle String message() default "{StartWithUpperCase_message}";
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句