recalculateFieldErrors method
void
recalculateFieldErrors()
Implementation
void recalculateFieldErrors() {
final fieldErrorAcc = <String, List<AnnotationMessage>>{};
for (var field in _structure.fields) {
fieldErrorAcc[field.name] = [];
}
final classErrorAcc = <AnnotationMessage>[];
hasErrors = false;
for (var i = 0; i < _results.length; i++) {
final result = _results[i];
for (var message in result.messages) {
hasErrors = true;
if (message.target == null) {
classErrorAcc.add(message);
} else {
fieldErrorAcc[message.target!]!.add(message);
}
}
}
for (var error in _customErrors) {
for (var message in error.messages) {
hasErrors = true;
if (message.target == null) {
classErrorAcc.add(message);
} else {
fieldErrorAcc[message.target!]!.add(message);
}
}
}
classErrors = AnnotationResult(messages: classErrorAcc);
fieldErrorAcc.forEach((key, value) {
fieldErrors[key] = AnnotationResult(messages: value);
});
onChanged();
}