0 purchases
db username suggester
db_username_suggester #
A Flutter package for suggesting alternative usernames when a given username already exists in the database. This package helps ensure unique usernames by automatically generating and suggesting available alternatives based on the initial username input.
Created By Krishn Kumar Krish0034
Features #
Suggests alternative usernames if the desired username is taken.
Customizable username field widget.
Supports asynchronous checks for username availability in the database.
Configurable error messages, hints, and styles.
Compatible with iOS, Android, and web platforms.
Installation 📦 #
1 To use this package, add db_username_suggester as a dependency in your pubspec.yaml file:
dependencies:
db_username_suggester: ^1.0.0+3
copied to clipboard
2 Then, import the package into your Dart code:
import 'package:db_username_suggester/db_username_suggester.dart';
copied to clipboard
Usage #
Here's a simple example that shows how to use the DbUsernameSuggesterField widget:
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:db_username_suggester/db_username_suggester.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: const Text('Username Plugin example app'),
),
body:Padding(
padding: const EdgeInsets.only(left: 10,right: 10),
child: Column(
children: [
DbUsernameSuggesterField(
label: "Username",
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter a username';
}
return null;
},
checkUsernameInDb: (username) async {
/// Replace with your logic to check if the username exists in the DB
if(username.isNotEmpty && username=='username'){
return Future.value(true);
}
else
{
return Future.value(false);
}
},
textCapitalization: TextCapitalization.none,
onChange: (value) {
print('Username changed: $value');
},
borderRadius: BorderRadius.circular(10),
hintText: "Please Enter Username.",
hintTextStyle: TextStyle(fontSize: 12,fontWeight: FontWeight.w400,color: Colors.black.withOpacity(0.5)),
borderColor: Colors.green,
errorText: "Please Enter username for checking user name is exist or not",
),
],
),
)
),
);
}
}
copied to clipboard
Properties Usage ⚙️ #
DbUsernameSuggesterField
Property
Type
Description
Label
label
Specifies the label for the username input field.
Validator
validator
A function to validate the username input. Returns an error message if the validation fails.
CheckUsernameInDb
checkUsernameInDb
A function that checks if the username exists in the database. Should return a Future
TextCapitalization
textCapitalization
Defines how the text should be capitalized (e.g., none, words, sentences).
OnChange
onChange
Initial or final destination for sliding or fading effects.
BorderRadius
borderRadius
Specifies the border radius of the input field.
HintText
hintText
Hint text displayed inside the input field when it is empty.
HintTextStyle
hintTextStyle
Style applied to the hint text.
BorderColor
borderColor
Color of the input field border.
ErrorText
errorText
Error message displayed when the username validation fails.
Platform Support 🌐 #
Android: Supported on SDK 16 and above.
iOS: Supported on iOS 11.0 and above.
Web: Supported on all modern web browsers.
Linux: Supported on any Linux distribution.
macOS: Supported on macOS 10.14 and above.
Windows: Supported on all Windows versions.
More information #
Pub Package: Provides a direct link to the package page on pub.dev where users can find more detailed information, version history, and installation instructions.
Flutter Documentation: Links to the official Flutter documentation, serving as a resource for general information, guides, and best practices related to Flutter development.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.