Skip to content

Commit 68409c8

Browse files
committed
Fixed default rule to not override values
1 parent 8f3f7fb commit 68409c8

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/main/java/dev/ditsche/validator/rule/ruleset/DefaultRule.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,19 @@ public class DefaultRule implements Rule {
1414

1515
@Override
1616
public RuleResult passes(Object value) {
17+
if(value == null)
18+
return RuleResult.resolve(defaultValue);
19+
1720
if(!(defaultValue.getClass().isAssignableFrom(value.getClass())))
1821
return RuleResult.reject();
19-
return RuleResult.resolve(defaultValue);
22+
23+
if(value instanceof String && ((String) value).trim().isEmpty())
24+
return RuleResult.resolve(defaultValue);
25+
26+
if(value instanceof Number && ((Number) value).longValue() == 0)
27+
return RuleResult.resolve(defaultValue);
28+
29+
return RuleResult.resolve();
2030
}
2131

2232
@Override

src/test/java/dev/ditsche/validator/ValidatorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void shouldValidateExample() {
2727
string("firstName").defaultValue("").trim().alphanum().max(80),
2828
number("count").max(5),
2929
object("nestedEntity").child(
30-
string("name").required().trim().min(4)
30+
string("name").required().trim().min(1)
3131
)
3232
);
3333

0 commit comments

Comments
 (0)