validator method
Implementation
Future<AntdFormRuleResult?> validator(
dynamic value, dynamic formValue, AntdFormTrigger? trigger) async {
var rules = [...(widget.rules ?? [])];
if (required && existsRequired != true) {
rules.add(const AntdFormRule(required: true));
}
List<AntdFormRuleMessage> messages = [];
for (var rule in rules) {
if (rule.trigger != null && trigger != null && rule.trigger != trigger) {
continue;
}
var validList = rule.buildValidList();
for (var valid in validList) {
var message =
await valid.buildValidator()?.call(widget, value, formValue);
if (message != null) {
messages.add(AntdFormRuleMessage(
message: message, warningOnly: rule.warningOnly));
}
if (messages.isNotEmpty && widget.validateFirst == true) {
break;
}
}
}
return AntdFormRuleResult(
name: widget.name, value: value, errorMessages: messages);
}