javax.faces.validator.RegexValidatorのソースを確認しているので、私はあなたがMojarraを使用していると考えます。検証メッセージのパラメータがパターンにすぎないことがわかります。ラベルはメッセージフォーマッタに渡されず、あなた自身のカスタムメッセージでそれを使用してください。
//From javax.faces.validator.RegexValidator source
if (!matcher.matches()) {
Object[] params = { regex };
fmsg = MessageFactory.getMessage(locale, NOT_MATCHED_MESSAGE_ID, params);
throw new ValidatorException(fmsg);
}
MyFacesソースでは、パターンとラベルの両方を渡しているようです。
少なくとも2つの簡単なオプションがあります。MyFacesを使用するか、入力コンポーネントのvalidatorMessage属性を使用します。
validatorMessageの説明はバリデーターのテキストとして使用されるValueExpression対応属性で、バリデーターからのメッセージを置き換えます。
<h:inputText id="email" label="#{sW.email}"
value="#{contattiBean.contatto.email}"
required="true" validatorMessage="#{sW.email} is not valid">
<f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]"/>
</h:inputText>