[英]How do I prepend http/https to a user entered string in flutter textfield?
I'm using texteditingcontrollers and if a user enters stackoverflow.com
I want it to be taken as https://stackoverflow.com
, so I can open the link using url_launcher
package.我正在使用 texteditingcontrollers,如果用户输入stackoverflow.com
我希望它被视为https://stackoverflow.com
,所以我可以使用url_launcher
包打开链接。 Can this be done in dart?这可以在飞镖中完成吗?
Something like this could be done using Dart
language:这样的事情可以使用Dart
语言来完成:
@override
Future<void> launchUrl({required String url}) async {
url = checkUrl(url);
try {
final bool shouldContinue = await canLaunch(url);
if (shouldContinue) {
await launch(url, forceSafariVC: false);
return;
}
throw Exception('Could not launch $url');
} catch (e) {}
}
String checkUrl(String url) {
if (url.startsWith('http')) return url;
return 'https://$url';
}
You may also take a look at string_validator .你也可以看看string_validator 。 Instead of creating your validating method
, you may use a package like this one.您可以使用像这样的包,而不是创建您的validating method
。
If you have further questions, please don't hesitate to write in the comments.如果您还有其他问题,请不要犹豫,写在评论中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.