Maison base de données tutoriel mysql Comment implémenter la fonction de validation de saisie de données dans Dart à l'aide de MySQL

Comment implémenter la fonction de validation de saisie de données dans Dart à l'aide de MySQL

Jul 30, 2023 pm 04:25 PM
mysql dart 数据输入验证

Comment implémenter la fonction de validation de saisie de données dans Dart à l'aide de MySQL

Lors du développement d'applications Web, la validation de saisie de données est une partie très importante. MySQL est une base de données relationnelle couramment utilisée et Dart est un langage de développement Web populaire. Cet article explique comment utiliser MySQL pour implémenter la validation des entrées de données dans Dart.

1. Configuration de l'environnement
Tout d'abord, nous devons installer la base de données MySQL et créer une base de données et la table de données correspondante pour stocker les données saisies par l'utilisateur. Vous pouvez utiliser l'instruction SQL suivante pour créer une table de données :

Utilisateurs CREATE TABLE (

id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
Copier après la connexion

) ;

Dans Dart, nous utilisons la bibliothèque dart_mysql pour nous connecter à la base de données MySQL. Ajoutez les dépendances suivantes dans le fichier pubspec.yaml :

dependencies:
mysql1 : ^0.15.0

Ensuite, installez les dépendances en exécutant flutter pub get.

2. Connectez-vous à la base de données MySQL
Dans le code Dart, nous devons d'abord importer la bibliothèque mysql1 et créer une connexion à la base de données. Voici un exemple de code pour se connecter à une base de données MySQL :

import 'package:mysql1/mysql1.dart';

Future connectToDatabase() async {
final settings = ConnectionSettings(

host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'database_name',
Copier après la connexion
Copier après la connexion

);

final conn = wait MySqlConnection.connect(settings);
return conn;
}

3. Vérification de la saisie des données
Avant de traiter les données, nous devons vérifier si les données saisies par l'utilisateur répondent aux exigences. Voici un exemple de code pour vérifier si le nom d'utilisateur est légal :

bool isUsernameValid(String username) {
// La longueur du nom d'utilisateur doit être comprise entre 4 et 20 caractères
if (username.length < 4 || username .length > 20) {

return false;
Copier après la connexion
Copier après la connexion

}

// Le nom d'utilisateur ne peut contenir que des lettres, des chiffres et des traits de soulignement
final regex = RegExp(r'^[a-zA-Z0-9_]+$');
if ( ! regex.hasMatch(username)) {

return false;
Copier après la connexion
Copier après la connexion

}

return true;
}

De même, nous pouvons écrire d'autres fonctions de vérification pour vérifier l'e-mail et le mot de passe. Par exemple, nous pouvons utiliser des expressions régulières pour vérifier la légitimité de l'e-mail, utiliser la longueur de la chaîne pour vérifier la force du mot de passe, etc.

4. Insérer des données dans la base de données MySQL
Une fois que nous avons vérifié les données saisies par l'utilisateur, nous pouvons les insérer dans la base de données MySQL. Voici un exemple de code pour insérer les données utilisateur dans la base de données :

Future insertUser(String username, String email, String password) async {
final conn = wait connectToDatabase();

final sql = 'INSERT INTO users (nom d'utilisateur, email, mot de passe) VALUES (?, ?, ?)';
valeurs finales = [nom d'utilisateur, email, mot de passe];

attendre conn.query(sql, valeurs);

attendre conn.close(
}

Lors de l'insertion de données, nous utilisons "?" comme espace réservé, puis transmettons la valeur réelle au deuxième paramètre de la méthode de requête. Cela évite les attaques par injection SQL.

5. Exemple de code complet
Ce qui suit est un exemple de code complet qui montre comment utiliser MySQL pour implémenter la validation des entrées de données dans Dart.

import 'package:mysql1/mysql1.dart';

bool isUsernameValid(String username) {
// Logique pour vérifier le nom d'utilisateur
}

bool isEmailValid(String email) {
// Logique pour vérifier l'e-mail
}

bool isPasswordValid(String password) {
// Logique pour vérifier le mot de passe
}

Future connectToDatabase() async {
paramètres finaux = ConnectionSettings(

host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
db: 'database_name',
Copier après la connexion
Copier après la connexion

);

final conn = wait MySqlConnection.connect( settings );
return conn;
}

Future insertUser(String username, String email, String password) async {
final conn = wait connectToDatabase();

final sql = 'INSERT INTO utilisateurs (nom d'utilisateur, email, mot de passe) VALUES (?, ?, ?)';
valeurs finales = [nom d'utilisateur, email, mot de passe];

attendre conn.query(sql, valeurs);

attendre conn.close();
}

void main() async {
final username = 'test';
final email = 'test@example.com';
final password = 'password';

if (!isUsernameValid(username)) {

print('Invalid username');
return;
Copier après la connexion

}

if (!isEmailValid(email)) {

print('Invalid email');
return;
Copier après la connexion

}

if (!isPasswordValid(mot de passe)) {

print('Invalid password');
return;
Copier après la connexion

}

await insertUser(username, email, password);

print('Utilisateur inséré avec succès ' );
}

6. Résumé
Cet article présente comment utiliser MySQL pour implémenter la fonction de vérification de la saisie des données dans Dart. Nous avons d'abord créé une connexion à la base de données puis écrit une fonction de validation pour valider les données saisies par l'utilisateur. Enfin, les données utilisateur sont insérées dans la base de données. Cet exemple n'est qu'un exemple simple et peut être étendu et modifié en fonction des besoins réels. J'espère que cet article vous sera utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La page est vide après que PHP est connecté à MySQL. Quelle est la raison de la fonction Die () non valide? La page est vide après que PHP est connecté à MySQL. Quelle est la raison de la fonction Die () non valide? Apr 01, 2025 pm 03:03 PM

La page est vide après que PHP se connecte à MySQL, et la raison pour laquelle la fonction Die () échoue. Lorsque vous apprenez la connexion entre PHP et la base de données MySQL, vous rencontrez souvent des choses déroutantes ...

Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Apr 01, 2025 pm 02:48 PM

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Apr 01, 2025 pm 01:57 PM

Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Dans l'environnement Nginx PHP MySQL construit à l'aide de l'arrière-plan Baota, comment faire le côté PC et ...

Debian Strings est-il compatible avec plusieurs navigateurs Debian Strings est-il compatible avec plusieurs navigateurs Apr 02, 2025 am 08:30 AM

"Debianstrings" n'est pas un terme standard, et sa signification spécifique n'est pas encore claire. Cet article ne peut pas commenter directement la compatibilité de son navigateur. Cependant, si "DebianStrings" fait référence à une application Web exécutée sur un système Debian, sa compatibilité du navigateur dépend de l'architecture technique de l'application elle-même. La plupart des applications Web modernes se sont engagées à compatibilité entre les navigateurs. Cela repose sur les normes Web suivantes et l'utilisation de technologies frontales bien compatibles (telles que HTML, CSS, JavaScript) et les technologies back-end (telles que PHP, Python, Node.js, etc.). Pour s'assurer que l'application est compatible avec plusieurs navigateurs, les développeurs doivent souvent effectuer des tests croisés et utiliser la réactivité

Docker construit un environnement LNMP: un seul Dockerfile ou Docker se composent-il mieux? Docker construit un environnement LNMP: un seul Dockerfile ou Docker se composent-il mieux? Apr 01, 2025 pm 02:09 PM

Dockerfile Best Practice Pour construire l'apprentissage de l'environnement LNMP Pendant Docker, de nombreux développeurs essaient de construire leur propre LNMP (Linux, Nginx, MySQL, PHP) ...

Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Apr 01, 2025 pm 02:24 PM

Comparaison des files d'attente Redis et de la stabilité de MySQL: Pourquoi Redis est-il sujet à la perte de données? Dans l'environnement de développement, en utilisant des cadres Php7.2 et ThinkPhp, nous sommes souvent confrontés au choix de la coopération ...

Lorsque vous utilisez Django et MySQL pour traiter des centaines de milliers à un ou deux millions de données, quel type de solution de cache devrait-il choisir un serveur de mémoire 8G à 4 cœurs? Lorsque vous utilisez Django et MySQL pour traiter des centaines de milliers à un ou deux millions de données, quel type de solution de cache devrait-il choisir un serveur de mémoire 8G à 4 cœurs? Apr 01, 2025 pm 11:36 PM

Utiliser Django et MySQL pour traiter de grands volumes de données lors de l'utilisation de bases de données Django et MySQL, si votre volume de données atteint des centaines de milliers à un ou deux millions ...

See all articles