Maison > développement back-end > Golang > vérification de l'implémentation de Golang

vérification de l'implémentation de Golang

WBOY
Libérer: 2023-05-21 15:49:08
original
744 Les gens l'ont consulté

Golang est un langage de programmation efficace qui attire de plus en plus l'attention des développeurs et des applications. Dans le processus de développement d’applications, la vérification est un maillon très important. Dans Golang, la mise en œuvre de la vérification peut nous aider à vérifier si les données saisies par l'utilisateur sont légales et à atteindre l'objectif de protection de la sécurité des données des applications. Cet article explorera comment implémenter la vérification dans Golang.

1. Pourquoi la vérification est requise

Tout d'abord, nous devons clairement comprendre le but et le but de l'opération de vérification. Dans le développement d’applications Web, les données saisies par les utilisateurs sont un point très critique. Les entrées de l'utilisateur peuvent contenir des données illégales ou malveillantes et doivent donc être vérifiées. La vérification peut garantir la légitimité des données saisies par l'utilisateur et éviter efficacement divers risques tels que les attaques, la falsification et la falsification par des attaquants. Lorsque l'application dispose d'une saisie de données, les opérations de vérification doivent être effectuées en arrière-plan pour assurer la protection de la sécurité des données.

2. Type de vérification de base

  1. Vérifiez si l'entrée est vide

Il s'agit de l'opération de vérification la plus élémentaire un lien. Dans Golang, la méthode len() est généralement utilisée pour déterminer si les données d'entrée sont vides. Par exemple :

if len(input) == 0 {
    // 输入为空,需要进行处理
}
Copier après la connexion
  1. Vérifier si l'entrée est un nombre

Vérifier si l'entrée est un nombre est une opération de vérification courante. Vous pouvez le faire. utilisez strconv dans Golang. La méthode Atoi() convertit une chaîne en nombre et détermine si l'entrée est un nombre légal en jugeant si le résultat converti est une erreur nulle. Par exemple :

if _, err := strconv.Atoi(input); err != nil {
    // 输入不为数字,需要进行处理
}
Copier après la connexion
  1. Valider que la saisie est une adresse e-mail

Dans les applications Web, la validation des adresses e-mail est très courante. Les expressions régulières peuvent être utilisées pour la vérification dans Golang. Par exemple :

func validateEmail(email string) bool {
    matched, _ := regexp.MatchString(`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$`, email)
    return matched
}

if !validateEmail(input) {
    // 输入的电子邮件地址不合法,需要进行处理
}
Copier après la connexion
  1. Vérifiez si l'entrée est une adresse URL

Il est également courant de vérifier les adresses URL. utilisé pour la vérification dans Golang. Par exemple :

func validateURL(input string) bool {
    matched, _ := regexp.MatchString(`^((https|http|ftp|rtsp|mms)?://)[^s]+`, input)
    return matched
}

if !validateURL(input) {
    // 输入的URL地址不合法,需要进行处理
}
Copier après la connexion

3. Règles de vérification personnalisées

En plus des types de vérification de base ci-dessus, dans le développement réel d'applications, il est nécessaire de personnaliser les règles de vérification en fonction des différents besoins. . Dans Golang, vous pouvez créer des structures pour représenter différents objets de données, définir des règles de vérification pour chaque objet, puis appeler ces méthodes pour implémenter des opérations de vérification.

Par exemple, voici un exemple de structure personnalisée et de méthode de vérification :

type User struct {
    Name     string `validate:"min=2,max=10"`
    Password string `validate:"regexp=^[a-zA-Z]\w{5,17}$"`
}

func (u *User) Validate() error {
    validate := validator.New()
    return validate.Struct(u)
}

var user = &User{"", "12345"}

if err := user.Validate(); err != nil {
    fmt.Println(err)
}
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons une structure Utilisateur, qui définit deux champs Nom et Mot de passe. En définissant la balise "validate" à l'intérieur de la structure, nous pouvons personnaliser les règles de validation. Dans la méthode Validate(), nous créons un objet validateur et validons l'objet en appelant sa méthode Struct(). Si la vérification échoue, un message d'erreur non vide sera renvoyé.

À travers les exemples ci-dessus, nous pouvons voir que l'opération de vérification de Golang est très flexible et que diverses règles de vérification peuvent être mises en œuvre de manière flexible grâce à des structures personnalisées.

4. Bibliothèque de vérification tierce

Dans le développement d'applications réelles, l'utilisation d'une bibliothèque de vérification tierce peut grandement simplifier la charge de travail des opérations de vérification. Il existe de nombreuses bibliothèques de vérification tierces parmi lesquelles choisir dans Golang. Les bibliothèques les plus connues incluent validate, validateur et go-playground/validator.

validate est une bibliothèque de vérification en langage Golang. Elle a des fonctions simples et est facile à utiliser. Elle prend en charge la transmission de balises de structure pour effectuer les opérations de vérification.

validator est une bibliothèque de vérification adaptée au langage Golang, qui peut être utilisée pour vérifier plusieurs types de données, y compris les structures, les types de données traditionnels et les tranches. De plus, il offre une extensibilité pour prendre en charge la mise en œuvre de règles de validation personnalisées.

go-playground/validator est une bibliothèque de vérification basée sur validator.v8, qui fournit des fonctions de vérification plus puissantes et peut être utilisée pour gérer des exigences de vérification plus complexes. Il reconnaît davantage de balises, de validateurs et de règles personnalisées, et permet une localisation flexible avec une prise en charge multilingue et des traducteurs.

5. Conclusion

La vérification est un maillon très important dans le développement d'applications web. Dans Golang, nous pouvons mettre en œuvre des opérations de vérification via diverses méthodes telles que les types de vérification de base, les règles de vérification personnalisées et l'utilisation de bibliothèques de vérification tierces. Grâce aux fonctionnalités fonctionnelles de Golang et à la prise en charge des bibliothèques standard, ce processus est devenu extrêmement simple et efficace. Dans le développement d'applications, le renforcement de l'opération de vérification des données saisies par l'utilisateur peut prévenir efficacement l'apparition de mauvaises saisies de données, garantissant ainsi la sécurité des données de l'application.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal