Skip to content

Commit d91876b

Browse files
committed
Add multiple fields at once to a ObjectRule
1 parent f9b0422 commit d91876b

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/main/java/dev/ditsche/validator/rule/builder/ObjectRuleBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ public ObjectRuleBuilder child(Validatable validatable) {
3232
return this;
3333
}
3434

35+
public ObjectRuleBuilder fields(Builder ...builders) {
36+
for(Builder builder : builders) {
37+
this.children.add(builder.build());
38+
}
39+
return this;
40+
}
41+
3542
public ObjectRuleBuilder optional() {
3643
this.optional = true;
3744
return this;

src/main/java/dev/ditsche/validator/validation/ValidationField.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class ValidationField implements Validatable {
2828

2929
@Getter
3030
@Setter
31-
private boolean optional = false;
31+
private boolean optional;
3232

3333
/**
3434
* Stores the rules assigned to the field.
@@ -80,7 +80,7 @@ public void addRule(Rule rule) {
8080
public ValidationResult validate(String parent, Object object, boolean abortEarly) {
8181
ErrorBag errorBag = new ErrorBag();
8282
boolean changed = false;
83-
if(optional && new RequiredRule().passes(object).isPassed())
83+
if(optional && !(new RequiredRule().passes(object).isPassed()))
8484
return new ValidationResult(errorBag, object, false);
8585
for(Rule rule : rules) {
8686
RuleResult ruleResult = rule.passes(object);

0 commit comments

Comments
 (0)