【validation】Go 项目中引用的第三方 validation 用于“表单数据验证”

validation 来源于 beego 框架 https://github.com/astaxie/beego

beego 是免费、开源的,在 beego 的 MVC 架构中的 controller 设计的有 Form validation ,也就是表单验证。 

表单验证模块是用于数据验证错误收集的。

目录

validation 安装

validation 的使用

在代码中直接使用

valid.Min(obj,min,key)

valid.HasErrors()

Message("obj 的值不能小于 min")

valid.Valid(obj)


validation 安装

// validation 用于(表单)验证
go get -u github.com/astaxie/beego/validation

validation 的使用

可以先看看 validation 的自述

https://github.com/beego/beedoc/blob/master/en-US/mvc/controller/validation.md

在代码中直接使用

先声明一个 Validation 结构类型的变量 valid

// 创建一个验证器变量,类型是 Validation 结构类型
// Validation = 验证上下文管理数据验证和错误消息。
valid := validation.Validation{}

valid.Min(obj,min,key)

验证 obj 是不是大于等于 min,key 一般用来表示 obj 是什么。

如果 obj 的值大于等于 min,返回的 *Resutl 中的 Error 为 nil;

如果 obj 的值小于 min,返回的 *Result 中的 Error 不为nil(具体错误信息),此时的 Error 会追加到变量 valid 的 Errors 切片中。

// 如果obj的类型为int,则测试 obj 是否大于 min
func (v *Validation) Min(obj interface{}, min int, key string) *Result

valid.HasErrors()

判断表单验证过程中是否遇到过错误。

如果上述 valid 中的 Errors 切片为 nil (没有错误消息),则返回 false,不为 nil(有错误消息) ,则返回 true。

// HasErrors 检查结构体 v 中的 Errors 切片是否有错误数据
func (v *Validation) HasErrors() bool

Message("obj 的值不能小于 min")

重新设置错误消息。

如果上述 valid.Min(obj,min,key) 返回结果中  Error 不为 nil 的,Message 可以修改 Error 的内容。Message 也适用其他验证。

用法:valid.Min(obj,min,key).Message("obj 的值不能小于 min") 

// Message 重新设置结果消息
func (r *Result) Message(message string, args ...interface{}) *Result

valid.Valid(obj)

验证 obj 是不是一个结构体或者结构体指针。

如果 obj 是结构体或者结构体指针,返回 true 和 nil,否则 返回 false 和 err。

// Valid 验证一个结构体。
// obj 形参必须是结构体或结构指针
func (v *Validation) Valid(obj interface{}) (b bool, err error) 

未完待续…… 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值