Golang中Gin 自定义验证方法
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
学习目标:
1.怎样写一个自定义验证方法
2. 怎样管理自定义验证方法
学习内容:
1. 怎样写一个自定义验证方法
在Gin框架中,可以使用binding
标签实现参数的校验。但有些特殊的需求,可能需要自己定义一些校验方法。下面是一些例子:
》自定义验证正则表达式:
可以通过binding
标签中的自定义函数来添加自定义验证逻辑。例如,可以使用正则表达式验证邮箱格式:
type SignupForm struct {
Email string `form:"email" binding:"required,email"`
Password string `form:"password" binding:"required,min=8,max=128"`
}
func ValidateEmail(field reflect.Value) (bool, string) {
// 邮箱正则表达式
pattern := regexp.MustCompile(`^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$`)
if !pattern.MatchString(field.String()) {
return false, "Invalid email format"
}
return true, ""
}
func main() {
r := gin.Defau