Evitando ValidatorException quando CPF é vazio
Isso é trabalho do validator required
diff --git a/stella-faces/src/main/java/br/com/caelum/stella/faces/validation/StellaCPFValidator.java b/stella-faces/src/main/java/br/com/caelum/stella/faces/validation/StellaCPFValidator.java
index 44518d6..1eca492 100644
--- a/stella-faces/src/main/java/br/com/caelum/stella/faces/validation/StellaCPFValidator.java
+++ b/stella-faces/src/main/java/br/com/caelum/stella/faces/validation/StellaCPFValidator.java
@@ -57,7 +57,7 @@
}
public void validate(FacesContext facesContext, UIComponent uiComponent, Object value) throws ValidatorException {
- if (value == null) return;
+ if (value == null || "".equals(value)) return; // deixa o validador required fazer seu trabalho
ResourceBundle bundle = resourceBundleFinder.getForCurrentLocale(facesContext);
ResourceBundleMessageProducer producer = new ResourceBundleMessageProducer(bundle);
diff --git a/stella-faces/src/test/java/br/com/caelum/stella/faces/validation/StellaCPFValidatorTest.java b/stella-faces/src/test/java/br/com/caelum/stella/faces/validation/StellaCPFValidatorTest.java
index 6e315dd..2c5865a 100644
--- a/stella-faces/src/test/java/br/com/caelum/stella/faces/validation/StellaCPFValidatorTest.java
+++ b/stella-faces/src/test/java/br/com/caelum/stella/faces/validation/StellaCPFValidatorTest.java
@@ -105,4 +105,18 @@
fail("shouldn't throw exception for null cpf");
}
}
+
+ @Test
+ public void shouldNotThrowValidatorExceptionWhenCPFIsEmpty() {
+ final FacesContext context = mockery.mock(FacesContext.class);
+ final UIComponent component = mockery.mock(UIComponent.class);
+ facesContextMocker.mockMessageBundle(context, "messages", Locale.getDefault());
+
+ try {
+ validator.validate(context, component, "");
+ mockery.assertIsSatisfied();
+ } catch (ValidatorException e) {
+ fail("shouldn't throw exception for empty cpf");
+ }
+ }
}