Go 验证器 validator 详解

开发过程中,我们往往需要对用户提交的数据进行验证,以保证数据的合法性和完整性。今天我们就来介绍 Go 语言社区推出的一个验证包 —— validator

validator 包根据 tags 对结构体和单个字段的值进行验证。它具备以下优秀的功能:

  1. 提供了一系列验证规则用于验证,并且支持自定义验证规则;
  2. 支持跨字段、跨结构体进行验证;
  3. 支持多维字段如 array、slice、map 等;
  4. 在验证接口类型前会先确定它的底层数据类型;
  5. 支持自定义字段类型比如 sql 驱动程序 Valuer
  6. 可以自定义并支持国际化(i18n)的错误信息;
  7. 是 gin 框架的默认验证器。

1.安装

使用 go get

go get github.com/go-playground/validator/v10

然后在你的源码中引入 validator 包:

import "github.com/go-playground/validator/v10"

2.使用

2.1 基本使用

package main

import (
	"fmt"

	"github.com/go-playground/validator/v10"
)

type User struct {
   
	FirstName string `validate:"required"`
	LastName  string `validate:"required"`
	Age       uint8  `validate:"gte=0,lte=130"`
}

var validate *validator.Validate

func main() {
   
	validate = validator.New()
	validateStruct()
}

func validateStruct() {
   
	user := &User{
   
		FirstName: "Badger",
		LastName:  "Smith",
		Age:       135,
	}

	err := validate.Struct(user)
	if err != nil {
   
		for _, err := range err.(validator.ValidationErrors) {
   
			fmt.Println(err.Namespace())       // User.Age
			fmt.Println(err.Field())           // Age
			fmt.Println(err.StructNamespace()) // User.Age
			fmt.Println(err.StructField())     // Age
			fmt.Println(err.Tag())             // lte
			fmt.Println(err.ActualTag())       // lte
			fmt.Println(err.Kind())            // uint8
			fmt.Println(err.Type())            // uint8
			fmt.Println(err.Value())           // 135
			fmt.Println(err.Param())           // 130
			fmt.Println(err.Error())           // Key: 'User.Age' Error:Field validation for 'Age' failed on the 'lte' tag
			fmt.Println()
		}
	}
}

2.2 跨字段验证

跨字段的验证规则有很多&#x

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue Validator是一个用于Vue.js的表单验证插件,可以方便地对表单进行验证。下面详细介绍一下Vue Validator的使用方法。 首先,我们需要在Vue项目中安装Vue Validator。可以通过命令`npm install vue-validator`来安装该插件。 安装完成后,在Vue组件中,需要先引入Vue Validator,并在`Vue.use(VueValidator)`中启用它。 接着,在需要进行验证的表单中,添加一个`validator`属性来指定验证规则。可以使用`v-validate`指令来设置验证规则。例如: ```html <input type="text" v-model="name" v-validate="'required|alpha'"> ``` 在上述代码中,我们使用`v-validate`指令来设置验证规则为必填(required)和只允许字母(alpha)。 然后,在表单中,可以使用`v-show`指令来根据验证结果来显示或隐藏错误信息。例如: ```html <div v-show="$validator.name.required">姓名不能为空</div> <div v-show="$validator.name.alpha">姓名只能包含字母</div> ``` 在上述代码中,使用`v-show="$validator.name.required"`来根据`name`字段的必填验证结果来显示或隐藏错误信息。 此外,还可以在Vue组件中定义自定义验证规则。可以使用`Vue.validator`方法来定义自定义验证规则。例如: ```javascript Vue.validator('customRule', function(val) { return val === 'validValue'; }); ``` 在上述代码中,我们自定义了一个验证规则`customRule`,它的值必须等于`'validValue'`。这样,我们就可以在表单中使用`v-validate="'customRule'"`来应用该自定义规则。 总结一下,Vue Validator的使用方法包括:安装插件、启用插件、设置验证规则、显示错误信息以及自定义验证规则。以上就是Vue Validator使用方法的详细解释。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值