Package version eg. v9, v10:
v10
Issue, Question or Enhancement:
When using bcp47_language_tag for validation, some non-BCP47 tags such as "eng" or "en_US" are passing as valid.
isBCP47LanguageTag() uses golang.org/x/text/language's Parse and its documentation says:
[snip]
It accepts tags in the BCP 47 format and extensions to this standard defined in https://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.
Code sample, to showcase or reproduce:
I expect both of these to fail, but they don't:
package main
import (
"fmt"
"github.com/go-playground/validator/v10"
)
func main() {
validate := validator.New()
err := validate.Var("en_US", "bcp47_language_tag")
if err != nil {
fmt.Println(err.Error())
return
}
err = validate.Var("eng", "bcp47_language_tag")
if err != nil {
fmt.Println(err.Error())
return
}
}
Package version eg. v9, v10:
v10
Issue, Question or Enhancement:
When using
bcp47_language_tagfor validation, some non-BCP47 tags such as "eng" or "en_US" are passing as valid.isBCP47LanguageTag()usesgolang.org/x/text/language'sParseand its documentation says:Code sample, to showcase or reproduce:
I expect both of these to fail, but they don't: