[SYNC]
This commit is contained in:
@@ -467,6 +467,35 @@ class AstromicFormController extends FormController {
|
|||||||
switchValuesFirst: true);
|
switchValuesFirst: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool validateGroup(String groupID, {Map<String, int>? parents}) {
|
||||||
|
// Get tha main targeted group's structure
|
||||||
|
FormGroupStructure? groupStructure = getGroupStructure(groupID);
|
||||||
|
assert(groupStructure != null, 'The Group $groupID doesn\'t seem to be found, are you sure you initialized it?');
|
||||||
|
|
||||||
|
// Get the prefix for subgroups if exists
|
||||||
|
String? prefix;
|
||||||
|
if (isASubGroup(groupID) && parents != null) {
|
||||||
|
prefix = parents.entries.map((MapEntry<String, int> parentEntry) => standeredGroupFormat(parentEntry.key, parentEntry.value.toString(), null)).join('-');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get current instances of this group and the new index.
|
||||||
|
int currentGroupInstances = getInstanceCount(groupID, parents: parents);
|
||||||
|
|
||||||
|
List<String> fieldsToValidate = <String>[];
|
||||||
|
List<String> valuesToValidate = <String>[];
|
||||||
|
for (int i = 0; i < currentGroupInstances; i++) {
|
||||||
|
for (String fieldID in groupStructure!.fields) {
|
||||||
|
fieldsToValidate.add((prefix != null ? '$prefix-' : '') + standeredGroupFormat(groupID, i.toString(), fieldID));
|
||||||
|
}
|
||||||
|
for (String valueID in (groupStructure.values ?? <String>[])) {
|
||||||
|
valuesToValidate.add((prefix != null ? '$prefix-' : '') + standeredGroupFormat(groupID, i.toString(), valueID));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return validateOnly(fieldsToValidate) && validateValues(valuesToValidate);
|
||||||
|
}
|
||||||
//!SECTION
|
//!SECTION
|
||||||
|
|
||||||
//SECTION - Helper Methods
|
//SECTION - Helper Methods
|
||||||
|
|||||||
Reference in New Issue
Block a user