重複の可能性:
FacesValidatorでの依存性注入(JSF検証)
たぶん、私は何か基本的なものが欠けています-しかし、メッセージリソースを使用するためにカスタムバリデータークラスでインジェクションを使用することはできませんか?次のコードは私にnullを与えるmsg
ので、インジェクションは明らかに機能しませんが、なぜですか?それが不可能な場合、どうすればメッセージリソースにアクセスできますか?これまでに見つけたすべての例では、バリデーターメッセージでハードコードされたテキストを使用していますが、これはローカリゼーションにはあまり役立ちません。
public class BirthdateValidator implements Validator {
@Inject
private transient ResourceBundle msg;
@Override
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
if ( [some validation fails] ) {
FacesMessage message = new FacesMessage(msg.getString("validator.birthday"));
message.setSeverity(FacesMessage.SEVERITY_ERROR);
}
}
}