Olá, tudo bem? Estou tentando usar o validatror v2 ("gopkg.in/validator.v2") para validar, em regex, uma url no struct:
type Video struct {
gorm.Model
Titulo string `json:"titulo" validate:"min=3,max=80"`
Descricao string `json:"descricao" validate:"min=3,max=160"`
Url string `json:"url" validate:"regexp=^(https?:\/\/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9])(:?\d*)\/?([a-z_\/0-9\-#.]*)\??([a-z_\/0-9\-#=&]*)?$"`
Categoria string `json:"categoria" validate:"min=3,max=20"`
}
Porém, o Url fica com uma anotação em amarelo embaixo da palavra, com a seguinte mensagem:
"struct field tag json:"url" validate:"regexp=^(https?:\/\/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9])(:?\d*)\/?([a-z_\/0-9\-#.]*)\??([a-z_\/0-9\-#=&]*)?$"
not compatible with reflect.StructTag.Get: bad syntax for struct tag valuestructtag"
De fato, quando eu rodo o código e tento fazer um post, a validação da URL não funciona mesmo. Qual o jeito certo de validar a url? Quando eu testo o regex no site regex101 está funcionando...
Obrigada!