vRequiredOn<T> function
Returns a validator that requires a value when compareAttribute is true.
Implementation
DraftModeValidator<T> vRequiredOn<T>(dynamic compareAttribute) {
return _typedValidator<T>(
type: DraftModeValidatorType.requiredOn,
payload: compareAttribute,
delegate: (DraftModeValidationValueContext? context, T? value) {
final compareValue = context?.read(compareAttribute);
final requiresValue = compareValue is bool && compareValue;
if (!requiresValue) {
return null;
}
if (value == null) {
return const DraftModeValidationRequired();
}
if (value is String && value.trim().isEmpty) {
return const DraftModeValidationRequired();
}
return null;
},
);
}