Go validator.v2为regexp

时间:2017-07-15 02:33:21

标签: regex validation go

我一直试图理解为什么一些正则表达式在golang中使用validator.v2包时会给出错误“未知标记”。它适用于一些正则表达式,但不适用于其中包含“{}”的一些,当我使用validator.Validate()时,它在运行时给出了一个错误“未知标记”。

以下是代码:

type Company struct {
    Name string `validate:"regexp=^[a-zA-Z .]{1,100}$"` 
}

在运行时给出了以下错误:

Name: unknown tag

然而这个正则表达式完全正常

type Company struct {
    Name string `validate:"regexp=^[a-zA-Z .]*$"` 
}

我正在使用大括号,因为我想在字符串上加上长度限制。可能有其他方法可以做到,但我觉得正则表达式是要走的路,并且更容易将其与表达式中的其他规则一起使用。

1 个答案:

答案 0 :(得分:1)

问题似乎是第一个正则表达式中的,字符。您可以在验证程序source code中看到标记已在,上拆分。通过UTSLing,我看不到对标签中转义的逗号的支持;这可能是项目作者的疏忽。我建议提交错误/功能请求。