Skip to content

Commit 936bc24

Browse files
committed
fix: skip when params are missing instead of error
1 parent 4f0369d commit 936bc24

File tree

1 file changed

+7
-12
lines changed
  • rust/signed_doc/src/validator/rules/parameters

1 file changed

+7
-12
lines changed

rust/signed_doc/src/validator/rules/parameters/mod.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ where
209209
return Ok(true);
210210
};
211211

212-
// collect recursively of expected parameters
213212
let mut allowed_params = HashSet::new();
214213
let mut all_valid = true;
215214
for doc_ref in ref_field.iter() {
@@ -219,16 +218,20 @@ where
219218
allowed_params.extend(result);
220219
}
221220

221+
if !all_valid {
222+
return Ok(false);
223+
}
224+
222225
all_valid &= allowed_params
223226
.iter()
224227
.any(|ref_doc_parameters| exp_parameters == ref_doc_parameters);
225228

226229
if !all_valid {
227230
report.invalid_value(
228231
"parameters",
229-
&format!("Reference doc param: {allowed_params:?}",),
230-
&format!("Doc param: {exp_parameters}"),
231-
&format!("Referenced document via {field_name} `parameters` field must match"),
232+
&format!("Reference doc params: {allowed_params:?}",),
233+
&format!("Doc params: {exp_parameters}"),
234+
&format!("Referenced document via {field_name} `parameters` field must match one of the allowed params"),
232235
);
233236
}
234237

@@ -264,14 +267,6 @@ where
264267
stack.push(param.clone());
265268
}
266269
}
267-
} else {
268-
report.missing_field(
269-
"parameters",
270-
&format!(
271-
"Referenced document via `{field_name}` must have `parameters`. Doc: {doc}"
272-
),
273-
);
274-
all_valid = false;
275270
}
276271
} else {
277272
report.functional_validation(

0 commit comments

Comments
 (0)