首页 > 后端开发 > Golang > 正文

需要验证 go-playground/validator/v10 中的两个字段

WBOY
发布: 2024-02-13 21:40:10
转载
1063人浏览过

需要验证 go-playground/validator/v10 中的两个字段

在开发过程中,我们常常需要对用户输入的数据进行验证。而在使用go语言开发时,go-playground/validator/v10是一个非常好用的验证库。它提供了丰富的验证规则和简洁的使用方式,可以帮助我们快速有效地验证数据的合法性。在本文中,php小编新一将为大家介绍如何使用go-playground/validator/v10来验证两个字段,并给出详细的代码示例。让我们一起来学习吧!

问题内容

需要检查至少一个字段应该存在电子邮件,电话至少一个是必填的

目前我有自定义验证器

func validateEmailPhone(fl validator.FieldLevel) bool {
    user := fl.Top().Interface().(models.User)
    validate := validator.Validate{}

    if user.Email == "" && user.Phone == "" {
        return false
    }
    if user.Email != "" {
        if err := validate.Var(user.Email, "email"); err != nil {
            return false
        }
    }
    if user.Phone != "" {
        if err := validate.Var(user.Phone, "e164"); err != nil {
            return false
        }
    }
    return true
}
登录后复制

但是很恐慌

用户是gorm模型

在这种情况下如何检查这两个字段

Playground
Playground

Playground 是一个AI绘画创作和图片编辑平台,每天可以免费创建100张各种类型的艺术图片,还提供背景消除、局部更换等图片编辑工具

Playground 147
查看详情 Playground

解决方法

大量条件required validator 中的标签。 在您的情况下,您可能需要 required_without_all + omitempty

required_without_all - 如果列表中的所有字段均为空,则使字段成为必填字段。

omitempty - 只允许该字段为空。

请记住,必需的标签必须位于 omitempty 之前。

示例

以上就是需要验证 go-playground/validator/v10 中的两个字段的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号