Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultVal(tag reflect.StructTag, param string) (string, bool)
- func FieldTimeVal(val string, tag reflect.StructTag) (time.Time, error)
- func Head(str, sep string) (head string, tail string)
- func Param(tag reflect.StructTag, param string) string
- type BaseFiled
- type Field
- type Func
- type Info
- type Inherits
- type NumericT
Constants ¶
View Source
const ( KeyBind = "binding" KeyMsg = "msg" KeyRegex = "pattern" )
View Source
const DefaultFieldMsg = "the param %s not valid"
View Source
const (
NumericRegexString = "^[-+]?[0-9]+(?:\\.[0-9]+)?$"
)
Variables ¶
View Source
var ( TimeType = reflect.TypeOf(time.Time{}) ValidatorFunc = map[string]Func{ "required": hasValue, "required_if": requiredIf, "len": hasLengthOf, "min": hasMinOf, "max": hasMaxOf, "eq": isEq, "ne": isNe, "lt": isLt, "lte": isLte, "gt": isGt, "gte": isGte, "eqfield": isEqField, "eqcsfield": isEqCrossStructField, "necsfield": isNeCrossStructField, "gtcsfield": isGtCrossStructField, "gtecsfield": isGteCrossStructField, "ltcsfield": isLtCrossStructField, "ltecsfield": isLteCrossStructField, "nefield": isNeField, "gtefield": isGteField, "gtfield": isGtField, "ltefield": isLteField, "ltfield": isLtField, "fieldcontains": fieldContains, "fieldexcludes": fieldExcludes, "alpha": isAlpha, "alphanum": isAlphanum, "alphaunicode": isAlphaUnicode, "alphanumunicode": isAlphanumUnicode, "boolean": isBoolean, "numeric": isNumeric, "number": isNumber, "email": isEmail, "url": isURL, "uri": isURI, "urn_rfc2141": isUrnRFC2141, "file": isFile, "base64": isBase64, "base64url": isBase64URL, "contains": contains, "containsany": containsAny, "containsrune": containsRune, "excludes": excludes, "excludesall": excludesAll, "excludesrune": excludesRune, "startswith": startsWith, "endswith": endsWith, "startsnotwith": startsNotWith, "endsnotwith": endsNotWith, "md5": isMD5, "sha256": isSHA256, "ipv4": isIPv4, "ipv6": isIPv6, "ip": isIP, "tcp4_addr": isTCP4AddrResolvable, "tcp6_addr": isTCP6AddrResolvable, "tcp_addr": isTCPAddrResolvable, "udp4_addr": isUDP4AddrResolvable, "udp6_addr": isUDP6AddrResolvable, "udp_addr": isUDPAddrResolvable, "ip4_addr": isIP4AddrResolvable, "ip6_addr": isIP6AddrResolvable, "ip_addr": isIPAddrResolvable, "unix_addr": isUnixAddrResolvable, "mac": isMAC, "hostname": isHostnameRFC952, "hostname_rfc1123": isHostnameRFC1123, "unique": isUnique, "oneof": isOneOf, "html": isHTML, "html_encoded": isHTMLEncoded, "url_encoded": isURLEncoded, "json": isJSON, "jwt": isJWT, "hostname_port": isHostnamePort, "lowercase": isLowercase, "uppercase": isUppercase, "datetime": isDatetime, "timezone": isTimeZone, "idcard": isIdCard, "mobile": isMobile, "regex": isRegexMatch, } )
Functions ¶
Types ¶
type BaseFiled ¶
type BaseFiled struct { CurParam string // filed form CurParam value CurKey string // current struct key name CurRule Info // current valid rule CurTag reflect.StructTag // current valid field struct CurTag CurInheritTag reflect.StructTag // when dive valid parent has CurTag Track []string // current data index path CurDataIdx string // current data index string ValidTagName string // valid tag name: form、json、header }
func (*BaseFiled) WrapperErr ¶
type Field ¶
type Field interface { // Root root element Root() reflect.Type // Parent parent element Parent() reflect.Type // Self wanted type Self() reflect.Type // Key Struct Key Name, self is struct key or inherit parent key name Key() string // StructField find relative another field key StructField(valType reflect.Type, namespace string) (Field, bool) // RuleName 当前验证的规则名称 RuleName() string // RuleVal 当前验证规则值,可能不存在。 RuleVal() string // CurDataIndex current data index CurDataIndex() string // SetDataIdx update data cur idx SetDataIdx(idx string) // Tag get current field CurTag Tag() reflect.StructTag // InheritTag inherit CurTag when dive valid InheritTag() reflect.StructTag // DefaultValExits 默认值是否存在 DefaultValExits() bool // DefaultVal 默认值 DefaultVal() string // Exist data exist or not Exist() bool // Empty data is empty or not Empty() bool // IsBool data is bool value or not IsBool() bool // IsArray data is array type or not, not support default value IsArray() bool // IsObject data is map or struct IsObject() bool // IsNumeric data is numeric IsNumeric() bool // Str try to get str data Str() (string, bool) // MustStr return str ignore err MustStr() string // Int try to get int data Int() (int64, bool) // MustInt return int val will ignore err or not exist MustInt() int64 // Uint try to get uint data Uint() (uint64, bool) // MustUint return the confirmed val MustUint() uint64 // Float try to get float data Float() (float64, bool) // MustFloat return float val will ignore the val not exist MustFloat() float64 // Len try to get data len Len() int // Bool return data bool value Bool() (bool, bool) // MustBool return bool value ignore the error or the val not exist MustBool() bool // Raw get the data raw string Raw() string // ParamKey the value just is one of: json, form, header ParamKey() string // MapKeys json may keys array, them json map key only support string MapKeys() []string // ToString try to convert the value type to string ToString() string }
type Func ¶
Func accepts a Field interface for all validation needs. The return value should be true when validation succeeds.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.