package br.com.ufrj.msi2.netuno.validator; import java.util.ResourceBundle; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.FacesValidator; import javax.faces.validator.Validator; import javax.faces.validator.ValidatorException; @FacesValidator("cpfValidator") public class CPFValidator implements Validator { public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { boolean cpfValido = true; if(value == null) { cpfValido = false; } else { String cpf = String.valueOf(value); if (cpf == null || cpf.length() != 11) { cpfValido = false; } else { try { Long.parseLong(cpf); } catch (NumberFormatException e) { cpfValido = false; } } } if(!cpfValido) { ResourceBundle bundle = context.getApplication().getResourceBundle(context, "contratacaoMsg"); FacesMessage msg = new FacesMessage(bundle.getString("cpfvalidator.erro")); msg.setSeverity(FacesMessage.SEVERITY_ERROR); throw new ValidatorException(msg); } } }