validator

package
v7.0.0-...-9db2903 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 21 Imported by: 3

Documentation

Overview

Package validator 符合 web.filter 的验证器

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ASCII

func ASCII(s string) bool

ASCII ASCII 码

func After

func After(t time.Time) func(time.Time) bool

After 判断时间是否在 t 之后

func Alpha

func Alpha(s string) bool

Alpha 全部都是英文字符

func And

func And[T any](v ...func(T) bool) func(T) bool

And 以与的形式串联多个验证器函数

func BankCard

func BankCard(val string) bool

BankCard 是否为正确的银行卡号

func Before

func Before(t time.Time) func(time.Time) bool

Before 判断时间是否在 t 之前

func Between

func Between[T cmp.Ordered](min, max T) func(T) bool

Between 判断数值区间 (min, max)

func BetweenEqual

func BetweenEqual[T cmp.Ordered](min, max T) func(T) bool

BetweenEqual 判断数值区间 [min, max]

func CNMobile

func CNMobile(val string) bool

CNMobile 验证中国大陆的手机号码

func CNPhone

func CNPhone(val string) bool

CNPhone 验证中国大陆的电话号码

支持如下格式:

0578-12345678-1234
057812345678-1234

若存在分机号,则分机号的连接符不能省略。

func CNTel

func CNTel(val string) bool

CNTel 验证手机和电话类型

func Digit

func Digit(val string) bool

Digit 判断字符串是否都为数字

func Email

func Email(val string) bool

func Empty

func Empty(val string) bool

Empty 字符串是否为空

func EndWith

func EndWith(suffix string) func(string) bool

func Equal

func Equal[T comparable](v T) func(T) bool

Equal 生成判断值是否等于 v 的验证器

func FileExists

func FileExists(path string) bool

FileExists path 是否存在

func FileExistsFS

func FileExistsFS(fsys fs.FS) func(string) bool

FileExistsFS 判断文件是否存在于 fsys

func Great

func Great[T cmp.Ordered](num T) func(T) bool

func GreatEqual

func GreatEqual[T cmp.Ordered](num T) func(T) bool

func HTTPStatus

func HTTPStatus(s int) bool

HTTPStatus 是否为有效的 HTTP 状态码

func Hex

func Hex(val string) bool

Hex 是否符合 16 进制数字

func HexColor

func HexColor(val string) bool

HexColor 判断一个字符串是否为合法的 16 进制颜色表示法

func IP

func IP(val string) bool

IP 判断是否 IP 地址

同时支持 IP4IP6

func IP4

func IP4(val string) bool

func IP6

func IP6(val string) bool

func ISBN

func ISBN(val string) bool

ISBN 判断是否为合法的 ISBN 串号

可以同时判断 ISBN10ISBN13

func ISBN10

func ISBN10(val string) bool

func ISBN13

func ISBN13(val string) bool

func In

func In[T comparable](element ...T) func(T) bool

In 声明枚举类型的验证规则

要求验证的值必须包含在 element 元素中,如果不存在,则返回 msg 的内容。

func IsDir

func IsDir(path string) bool

IsDir path 是否为一个目录

func IsDirFS

func IsDirFS(fsys fs.FS) func(string) bool

IsDirFS 判断 fsys 中的 path 是否为目录

func JSON

func JSON(val []byte) bool

JSON 验证是否为正确的 JSON 内容

func LanguageTag

func LanguageTag(val string) bool

LanguageTag 是否能解析为 language.Tag 变量

func Less

func Less[T cmp.Ordered](num T) func(T) bool

func LessEqual

func LessEqual[T cmp.Ordered](num T) func(T) bool

func Luhn

func Luhn(val string) bool

Luhn 验证 luhn 算法

func MV

func MV[M ~map[K]V, K comparable, V any](v func(V) bool, msg web.LocaleStringer) filter.Rule[M]

MV 同 filter.MV

func Match

func Match(exp *regexp.Regexp) func(string) bool

Match 为正则生成验证函数

func Nil

func Nil[T any](v T) bool

Nil 是否为 nil

func Not

func Not[T any](v func(T) bool) func(T) bool

Not 验证器的取反

func NotIn

func NotIn[T comparable](element ...T) func(T) bool

NotIn 声明不在枚举中的验证规则

func Or

func Or[T any](v ...func(T) bool) func(T) bool

Or 以或的形式并联多个验证器函数

func Regexp

func Regexp(v string) bool

Regexp 是否为一个正确的正则表达式

func SV

func SV[S ~[]T, T any](v func(T) bool, msg web.LocaleStringer) filter.Rule[S]

SV 同 filter.SV

func Semver

func Semver(ver string) bool

Semver semver 版本号验证

func SemverCompatible

func SemverCompatible(ver string) func(string) bool

SemverCompatible 创建一个验证 [semver] 是否兼容 val 的验证器

func SemverGreat

func SemverGreat(ver string) func(string) bool

SemverGreat 判断版本号是否大于 ver

func SemverGreatEqual

func SemverGreatEqual(ver string) func(string) bool

func SemverLess

func SemverLess(ver string) func(string) bool

func SemverLessEqual

func SemverLessEqual(ver string) func(string) bool

func StartWith

func StartWith(prefix string) func(string) bool

func Strength

func Strength(length, upper, lower, punct, num int8) func(string) bool

Strength 声明密码强度的验证对象

length 对长度的最小要求; upper 对大写字符的最小要求; lower 对小写字符的最小要求; punct 对符号的最小要求; num 对数字的最小要求

详细文档可参考 strength.Strength

func Timezone

func Timezone(tz string) bool

Timezone 是否为一个正确的时区变量

func URL

func URL(val string) bool

func UUID

func UUID(val string) bool

UUID 验证 UUID 格式是否正确

func V

func V[T any](v func(T) bool, msg web.LocaleStringer) filter.Rule[T]

V 同 filter.V

func Zero

func Zero[T any](v T) bool

Zero 是否为零值

采用 reflect.Value.IsZero 判断。

func ZeroOr

func ZeroOr[T comparable](v func(T) bool) func(T) bool

ZeroOr 判断值为零值或是非零情况下符合 v 的要求

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL