Heim > Backend-Entwicklung > Golang > Wie kann ich Fehlermeldungen für die Struct-Tag-Validierung in Gin anpassen?

Wie kann ich Fehlermeldungen für die Struct-Tag-Validierung in Gin anpassen?

Susan Sarandon
Freigeben: 2024-12-23 13:40:33
Original
788 Leute haben es durchsucht

How Can I Customize Error Messages for Struct Tag Validation in Gin?

Benutzerdefinierte Fehlermeldungsformatierung für die Struktur-Tag-Validierung in Gin

Bei der Durchführung der Strukturvalidierung in Gin ist die zurückgegebene Standardfehlermeldung ausführlich und fehlt Benutzerfreundlichkeit. Dieser Artikel bietet eine Lösung, um die Fehlermeldung anzupassen und in einem besser verwaltbaren Format darzustellen.

Mit dem Paket go-playground/validator/v10 richtet Gin die Validierung durch Struktur-Tags ein. Wenn die Validierung fehlschlägt, ist der zurückgegebene Fehler ein validator.ValidationErrors-Typ. Um spezifische Fehlerinformationen zu extrahieren, kann man das Standardfehlerpaket verwenden.

Angenommen, ein benutzerdefiniertes Fehlermodell wie folgt:

type ApiError struct {
    Field string
    Msg   string
}
Nach dem Login kopieren

Der folgende Codeausschnitt zeigt, wie die Fehlermeldung angepasst wird:

var u User
err := c.BindQuery(&u);
if err != nil {
    var ve validator.ValidationErrors
    if errors.As(err, &ve) {
        out := make([]ApiError, len(ve))
        for i, fe := range ve {
            out[i] = ApiError{fe.Field(), msgForTag(fe.Tag())}
        }
        c.JSON(http.StatusBadRequest, gin.H{"errors": out})
    }
    return
}
Nach dem Login kopieren

Eine Hilfsfunktion, msgForTag, kann definiert werden, um benutzerdefinierte Fehlermeldungen basierend auf der Validierung bereitzustellen tag:

func msgForTag(tag string) string {
    switch tag {
    case "required":
        return "This field is required"
    case "email":
        return "Invalid email"
    }
    return ""
}
Nach dem Login kopieren

Dieser Ansatz ermöglicht eine benutzerfreundlichere Fehlerformatierung und erleichtert die Kommunikation von Validierungsfehlern an den Endbenutzer.

Das obige ist der detaillierte Inhalt vonWie kann ich Fehlermeldungen für die Struct-Tag-Validierung in Gin anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage