1
return func(c *gin.Context) {
        var user models.User

        err := c.BindJSON(&user)
        if err != nil {
            c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
            return
        }

        validation_err := validate.Struct(user) // It will validate the request with User type struct
        validationErr := validation_err.(validator.ValidationErrors)
        if validationErr != nil {
            c.JSON(http.StatusBadRequest, gin.H{"error": validationErr.Error()})
            return
        }

        c.JSON(http.StatusOK, user)
    }

enter image description here

package models

type User struct {
    FirstName string `json:"first_name" validate:"required, min=2, max=100"`
    LastName  string `json:"last_name" validate:"required, min=2, max=100"`
    Email     string `json:"email" validate:"email, required"`
    Password  string `json:"password" validate:"required, min=6"`
    UserId    string `json:"user_id" validate:"required"`
}

The server got hung up while using the validator to validate. Uncommenting the validation part helps to run the server again.

Rwitesh Bera
  • 389
  • 2
  • 3
  • 9

0 Answers0