我正在实施自定义验证器。存储在资源中的消息的详细信息。以下是邮件的示例:Value is required for {0}
。 {0}应包含组件的标签。
@FacesValidator("customValidator")
public class CustomValidator implements Validator {
@Override
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
if (validatorCondition()) {
String summary = Res.getString("error");
String detail = ... format detail here
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, summary, detail));
}
}
}
如何格式化validate方法中显示的消息?
答案 0 :(得分:1)
String template = "Value is required for {0}.";
String label = component.getAttributes().get("label"); // Don't forget to handle nulls. JSF defaults to client ID.
String message = MessageFormat.format(template, label);
// ...