Полагаю, вы используете Mojarra, потому что проверяете источник javax.faces.validator.RegexValidator. Я замечаю, что параметром сообщения проверки является только шаблон, метка никогда не передается в модуль форматирования сообщений и вы не можете использовать это в ваших собственных пользовательских сообщениях.
//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 появляется, что они проходят и шаблон, и метку.
Существует как минимум две простые опции: использовать MyFaces или лучше использовать атрибут validatorMessage вашего компонента ввода.
validatorMessage description is Атрибут 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>