Heim > Artikel > Backend-Entwicklung > Benutzerdefinierte Aufzählungsvalidierungsregeln des Golang-Validators
Der PHP-Editor Xiaoxin stellt Ihnen heute einen leistungsstarken Golang-Validator vor – benutzerdefinierte Regeln zur Aufzählungsüberprüfung. Da Golang immer beliebter wird, beginnen immer mehr Entwickler damit, effiziente und zuverlässige Anwendungen zu erstellen. Der Validator ist eines der wichtigen Tools, mit dessen Hilfe wir überprüfen können, ob die Eingabedaten dem angegebenen Format und den angegebenen Anforderungen entsprechen. Benutzerdefinierte Aufzählungsvalidierungsregeln sind eine wichtige Funktion des Validators, die uns dabei helfen können, unsere eigenen Aufzählungstypen zu definieren und die Eingabedaten zu validieren. In diesem Artikel werden wir detailliert die Verwendung benutzerdefinierter Aufzählungsvalidierungsregeln in Golang sowie einige praktische Anwendungsszenarien vorstellen. Lassen Sie uns gemeinsam diese leistungsstarke Funktion erkunden!
Ich verwende https://github.com/go-playground/validator und muss benutzerdefinierte Validierungsregeln für verschiedene Aufzählungswerte erstellen. Hier ist meine Struktur – https://go.dev/play/p/UmR6YH6cvK9. Wie Sie sehen, habe ich drei verschiedene Benutzertypen: Administratoren, Moderatoren und Inhaltsersteller, und ich möchte für sie unterschiedliche Passwortregeln anpassen. Beispielsweise sollte das Passwort eines Administrators mindestens 7 Zeichen und das Passwort eines Moderators mindestens 5 Zeichen lang sein. Ist dies über Tags in go-playground/validator möglich?
Mein Dienst erhält eine Liste von Benutzern und muss unterschiedliche Regeln zur Überprüfung verwenden.
Sie können die Benutzer überprüfen, indem Sie das Paket usertype
添加一个方法,该方法使用 validator
anfordern.
type usertype int const ( admin usertype = iota moderator contentcreator ) func (u usertype) validate() error { switch u { case admin: // validate admin case moderator: // validate moderator case contentcreator: // validate content creator default: return fmt.errorf("invalid user type") } return nil }
Anrufvalidierung sieht so aus
func main() { a := User{ Type: Admin, Name: "admin", Password: "pass", LastActivity: time.Time{}, } err := a.Type.Validate() if err != nil { fmt.Println("invalid user: %w", err) } }
Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Aufzählungsvalidierungsregeln des Golang-Validators. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!