Maison > développement back-end > Golang > le corps du texte

la validation ozzo dans les règles renvoie une erreur pour des valeurs égales

WBOY
Libérer: 2024-02-05 22:48:03
avant
838 Les gens l'ont consulté

规则中的 ozzo 验证对于相等值返回错误

Contenu de la question

J'ai un code simple qui utilise echo 作为引擎,使用 ozzo-validation comme validateur de demande.

func (a MyRequest) Validate() error {
    return validation.ValidateStruct(
        &a,
        validation.Field(&a.Value,
            validation.Required,
            validation.Length(1, 5),
            validation.Each(validation.NilOrNotEmpty, validation.In([]string{"true", "false"}),
            ),
        ),
    )
}
Copier après la connexion

Voici la demande que j'ai envoyée :

{"value":["true"]}
Copier après la connexion

J'obtiens cette erreur de la In règle :

value: (0: must be a valid value.).
Copier après la connexion

Mais quand je vérifie la valeur en utilisant ==reflect.DeppEqual les valeurs sont égales :

fmt.Println(reflect.DeepEqual([]string{"true", "false"}[0], a.Value[0]))
fmt.Println([]string{"true", "false"}[0] == a.Value[0])


output:
true
true
Copier après la connexion

Qu'est-ce que je fais de mal ici ?


Bonne réponse


utilisez validation.Each(validation.In([]string{"true", "false"})) 会将 Value 切片中的每个元素与提供给 validate.In 的切片进行比较,即 []string{ “真”,“假”}.

Utilisez les valeurs individuelles dans validation.In("true", "false")Value 切片中的每个元素与 validate.In à des fins de comparaison.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal