Heim > Artikel > Backend-Entwicklung > Zwei Felder in go-playground/validator/v10 müssen überprüft werden
Während des Entwicklungsprozesses müssen wir häufig die vom Benutzer eingegebenen Daten überprüfen. Bei der Entwicklung in der Go-Sprache ist go-playground/validator/v10 eine sehr einfach zu verwendende Verifizierungsbibliothek. Es bietet umfassende Überprüfungsregeln und prägnante Verwendungsmethoden, die uns dabei helfen können, die Rechtmäßigkeit von Daten schnell und effektiv zu überprüfen. In diesem Artikel stellt der PHP-Editor Xinyi vor, wie man mit go-playground/validator/v10 zwei Felder überprüft, und gibt detaillierte Codebeispiele. Lasst uns gemeinsam lernen!
Mindestens ein Feld muss überprüft werden, E-Mail sollte vorhanden sein, mindestens eine Telefonnummer ist erforderlich
Derzeit habe ich einen benutzerdefinierten Validator
func validateEmailPhone(fl validator.FieldLevel) bool { user := fl.Top().Interface().(models.User) validate := validator.Validate{} if user.Email == "" && user.Phone == "" { return false } if user.Email != "" { if err := validate.Var(user.Email, "email"); err != nil { return false } } if user.Phone != "" { if err := validate.Var(user.Phone, "e164"); err != nil { return false } } return true }
Aber große Panik
Der Benutzer ist ein Gorm-Model
So überprüfen Sie diese beiden Felder in diesem Fall
Es sind viele Bedingungenrequired
validator
-Tags darin enthalten.
In Ihrem Fall benötigen Sie möglicherweise required_without_all
+ omitempty
.
required_without_all
– Machen Sie ein Feld zu einem Pflichtfeld, wenn alle Felder in der Liste leer sind.
omitempty
- Nur das Feld darf leer sein.
Denken Sie daran, dass erforderliche Tags vor omitempty stehen müssen.
Das obige ist der detaillierte Inhalt vonZwei Felder in go-playground/validator/v10 müssen überprüft werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!