askString static method
Ask for a string input with validation
Implementation
static Future<String> askString(
String question, {
String? defaultValue,
bool Function(String)? validator,
String? validationMessage,
}) async {
if (PromptEnvironment.useSimplePrompts) {
return _askSimpleString(
question,
defaultValue: defaultValue,
validator: validator,
validationMessage: validationMessage,
);
}
try {
final String result = Input(
prompt: question,
defaultValue: defaultValue ?? '',
validator: validator != null
? (String value) {
if (validator(value)) return true;
throw ValidationError(validationMessage ?? 'Invalid input');
}
: null,
).interact();
return result;
} on Object {
return _askSimpleString(
question,
defaultValue: defaultValue,
validator: validator,
validationMessage: validationMessage,
);
}
}