validateItem method
Validates the field.
It will iterate through all validators in order and return a new FormXField
Implementation
Future<FormXField<V>> validateItem({
bool softValidation = false,
}) {
return Future.wait(
validators.map((validator) {
return validator.validate(value);
}),
).then((validationResults) {
final validation = validationResults.firstWhere(
(element) => element.isValid == false,
orElse: () => ValidatorResult.success(),
);
final errorMessage = softValidation ? null : validation.errorMessage;
return _applyValidationResult(errorMessage, validation.isValid);
}).catchError((e, stackTrace) {
onValidationError?.call();
return _applyValidationResult(null, true);
});
}