@colisweb/rescript-toolkit 5.4.0 → 5.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/form/ReSchema.res +12 -18
package/package.json
CHANGED
package/src/form/ReSchema.res
CHANGED
|
@@ -361,6 +361,17 @@ module Make = (Lenses: Lenses) => {
|
|
|
361
361
|
)
|
|
362
362
|
}
|
|
363
363
|
|
|
364
|
+
let rec getIsNestedStateErrored = nestedErrors2 =>
|
|
365
|
+
nestedErrors2->Array.some(form => {
|
|
366
|
+
form->Array.some(((_, fieldState)) => {
|
|
367
|
+
switch fieldState {
|
|
368
|
+
| Error(_)
|
|
369
|
+
| NestedErrors(_) => true
|
|
370
|
+
| NestedErrors2(nextLevel) => getIsNestedStateErrored(nextLevel)
|
|
371
|
+
| _ => false
|
|
372
|
+
}
|
|
373
|
+
})
|
|
374
|
+
})
|
|
364
375
|
let validate = (~i18n=ReSchemaI18n.default, values: Lenses.state, schema: Validation.schema) => {
|
|
365
376
|
let validationList =
|
|
366
377
|
schema->Belt.Array.map(validator => validateField(~validator, ~values, ~i18n))
|
|
@@ -370,24 +381,7 @@ module Make = (Lenses: Lenses) => {
|
|
|
370
381
|
| Error(_) as e => Some((field, e))
|
|
371
382
|
| NestedErrors(_) as e => Some((field, e))
|
|
372
383
|
| NestedErrors2(nestedErrors2) as e =>
|
|
373
|
-
|
|
374
|
-
let rec getIsErrored = nestedErrors2 =>
|
|
375
|
-
nestedErrors2->Array.some(form => {
|
|
376
|
-
form->Array.some(
|
|
377
|
-
((_, fieldState)) => {
|
|
378
|
-
switch fieldState {
|
|
379
|
-
| Error(_)
|
|
380
|
-
| NestedErrors(_) => true
|
|
381
|
-
| NestedErrors2(nextLevel) => getIsErrored(nextLevel)
|
|
382
|
-
| _ => false
|
|
383
|
-
}
|
|
384
|
-
},
|
|
385
|
-
)
|
|
386
|
-
})
|
|
387
|
-
getIsErrored(nestedErrors2)
|
|
388
|
-
}
|
|
389
|
-
? Some((field, e))
|
|
390
|
-
: None
|
|
384
|
+
getIsNestedStateErrored(nestedErrors2) ? Some((field, e)) : None
|
|
391
385
|
| _ => None
|
|
392
386
|
}
|
|
393
387
|
)
|