JSP
<cus:brPanelGroup>
<cus:brInputText id="ValorReal" size="25" maxlength="18"
value="#{Bean.valor}" validator="moedaValidator">
<f:convertNumber pattern="#,##0.00"></f:convertNumber>
</cus:brInputText>
</cus:brPanelGroup>
faces-config
<validator>
<validator-id>moedaValidator</validator-id>
<validator-class>br.com.validdator.MoedaValidator</validator-class>
</validator>
classe java
import java.math.BigDecimal;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
public class MoedaValidator implements Validator {
/**
* Método responsável por validar os campos com moeda. Caso ocorra algum erro lança uma ValidatorException.
*/
public void validate(FacesContext ctx, UIComponent comp, Object val) throws ValidatorException {
BigDecimal valor = (BigDecimal) val;
if(val == null)
return;
if (valor.intValue() == 0) {
FacesMessage message = new FacesMessage("Preencha com o valor válido maior que zero");
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);
}
}
}
apareci o seguinte erro na jsp MethodBinding attribute values must be EL expressions. ao debug não chama a classe MoedaValidator alguém sabe onde estou errado?