Fala pessoal, estou com uma dificuldade ao apresentar uma mensagem de erro com converter do PrimeFaces, segue o codigo:
Classe Java;
@FacesConverter(value = "mascaraProcessoConverter")
public class MascaraProcessoConverter implements Converter {
@Override
public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String objeto) {
if (objeto != null) {
return objeto;
}
return null;
}
@Override
public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object objeto) {
return mascaras((String) objeto);
}
public String mascaras(String valor) {
if (valor.length() != 0) {
if (valor.length() == 13) {
StringBuilder stringBuilder = new StringBuilder(valor);
stringBuilder.insert(3, ".");
stringBuilder.insert(7, ".");
stringBuilder.insert(11, "/");
return valor = stringBuilder.toString();
}
if (valor.length() == 14) {
StringBuilder stringBuilder = new StringBuilder(valor);
stringBuilder.insert(4, ".");
stringBuilder.insert(8, ".");
stringBuilder.insert(12, "/");
return valor = stringBuilder.toString();
}
if (valor.length() == 16) {
StringBuilder stringBuilder = new StringBuilder(valor);
stringBuilder.insert(4, ".");
stringBuilder.insert(8, ".");
stringBuilder.insert(12, "/");
stringBuilder.insert(17, "-");
return valor = stringBuilder.toString();
}
if (valor.length() == 21) {
StringBuilder stringBuilder = new StringBuilder(valor);
stringBuilder.insert(7, ".");
stringBuilder.insert(16, "/");
stringBuilder.insert(21, "-");
return valor = stringBuilder.toString();
}
else {
JsfUtil.addGlobalMsgError(null, "Processo", "Número de dígitos insuficientes, verifique a fonte.");
return valor = null;
}
}
else {
return valor;
}
}
}
Input xHTML;
<h:outputLabel for="processoM" value="Processo Nº:" />
<p:inputText id="processoM" value="#{operacaoMedicao.operacao.processo}"
size="22" placeholder="" converter="mascaraProcessoConverter"
required="true" requiredMessage="Campo processo obrigatório!">
<p:ajax event="blur" update="processoM,messagemM,btSalvarMedicao"
process="@this" listener="#{operacaoMedicao.habilitarConfirmDialogMedicao}"></p:ajax>
</p:inputText>
<p:watermark for="processoM" value="Insira somente os números" />
<p:message id="messagemM" for="processoM" />
Ao ser inserido um número que nao entra em nenhum dos if’s deveria ser apresentada uma mensagem de erro, mas ela nao aparece