rule

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ACCURACY     = 0.00001 // 浮点数比较大小的精度
	SPLIT_SEP    = ","     // 用来分隔参数
	SPLIT_SEP_OR = " "     // 用来分隔函数参数,or功能专用
	TAG_PRE      = "("     // 标记,例 Max(
	TAG_PRE_OR   = "<"     // 标记,例 Or<
)
View Source
const (
	RULE_DEBUG   = true
	RULE_RELEASE = false
)

Variables

View Source
var Model bool

Functions

func RegisterRule

func RegisterRule(rule Rule) error

RegisterRule 注册一个规则

Types

type AlphaRule

type AlphaRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*AlphaRule) Clone

func (r *AlphaRule) Clone() Rule

func (*AlphaRule) Generate

func (r *AlphaRule) Generate(value interface{}, tagValue string) error

func (*AlphaRule) Tag

func (r *AlphaRule) Tag() string

func (*AlphaRule) Valid

func (r *AlphaRule) Valid() error

type Base64Rule

type Base64Rule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*Base64Rule) Clone

func (r *Base64Rule) Clone() Rule

func (*Base64Rule) Generate

func (r *Base64Rule) Generate(value interface{}, tagValue string) error

func (*Base64Rule) Tag

func (r *Base64Rule) Tag() string

func (*Base64Rule) Valid

func (r *Base64Rule) Valid() error

type CharacterNumberRule

type CharacterNumberRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*CharacterNumberRule) Clone

func (r *CharacterNumberRule) Clone() Rule

func (*CharacterNumberRule) Generate

func (r *CharacterNumberRule) Generate(value interface{}, tagValue string) error

func (*CharacterNumberRule) Tag

func (r *CharacterNumberRule) Tag() string

func (*CharacterNumberRule) Valid

func (r *CharacterNumberRule) Valid() error

type CharacterRule

type CharacterRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*CharacterRule) Clone

func (r *CharacterRule) Clone() Rule

func (*CharacterRule) Generate

func (r *CharacterRule) Generate(value interface{}, tagValue string) error

大写:Character(U) 小写:Character(L) //任意大小写:Character or Character()

func (*CharacterRule) Tag

func (r *CharacterRule) Tag() string

func (*CharacterRule) Valid

func (r *CharacterRule) Valid() error

type EmailRule

type EmailRule struct {
	FullTag
	// contains filtered or unexported fields
}

邮箱校验

func (*EmailRule) Clone

func (r *EmailRule) Clone() Rule

func (*EmailRule) Generate

func (r *EmailRule) Generate(value interface{}, tagValue string) error

func (*EmailRule) Tag

func (r *EmailRule) Tag() string

func (*EmailRule) Valid

func (r *EmailRule) Valid() error

type FullTag

type FullTag struct {
	// contains filtered or unexported fields
}

func (*FullTag) GetFullTag

func (ft *FullTag) GetFullTag() string

func (*FullTag) SetFullTag

func (ft *FullTag) SetFullTag(tag string)

type InRule

type InRule struct {
	FullTag
	// contains filtered or unexported fields
}

校验数据是否存在于所列条件之中

func (*InRule) Clone

func (r *InRule) Clone() Rule

func (*InRule) Generate

func (r *InRule) Generate(value interface{}, tagValue string) error

func (*InRule) Tag

func (r *InRule) Tag() string

func (*InRule) Valid

func (r *InRule) Valid() error

type IpRule

type IpRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*IpRule) Clone

func (r *IpRule) Clone() Rule

func (*IpRule) Generate

func (r *IpRule) Generate(value interface{}, tagValue string) error

func (*IpRule) Tag

func (r *IpRule) Tag() string

func (*IpRule) Valid

func (r *IpRule) Valid() error

type LengthRule

type LengthRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*LengthRule) Clone

func (r *LengthRule) Clone() Rule

func (*LengthRule) Generate

func (r *LengthRule) Generate(value interface{}, tagValue string) error

func (*LengthRule) Tag

func (r *LengthRule) Tag() string

func (*LengthRule) Valid

func (r *LengthRule) Valid() error

type MaxRule

type MaxRule struct {
	FullTag
	// contains filtered or unexported fields
}

校验最大值和长度

func (*MaxRule) Clone

func (r *MaxRule) Clone() Rule

func (*MaxRule) Generate

func (r *MaxRule) Generate(value interface{}, tagValue string) error

func (*MaxRule) Tag

func (r *MaxRule) Tag() string

func (*MaxRule) Valid

func (r *MaxRule) Valid() error

type MinRule

type MinRule struct {
	FullTag
	// contains filtered or unexported fields
}

校验最小值和长度

func (*MinRule) Clone

func (r *MinRule) Clone() Rule

func (*MinRule) Generate

func (r *MinRule) Generate(value interface{}, tagValue string) error

func (*MinRule) Tag

func (r *MinRule) Tag() string

func (*MinRule) Valid

func (r *MinRule) Valid() error

type NumberRule

type NumberRule struct {
	FullTag
	// contains filtered or unexported fields
}

数字校验

func (*NumberRule) Clone

func (r *NumberRule) Clone() Rule

func (*NumberRule) Generate

func (r *NumberRule) Generate(value interface{}, tagValue string) error

func (*NumberRule) Tag

func (r *NumberRule) Tag() string

func (*NumberRule) Valid

func (r *NumberRule) Valid() error

type OrRule

type OrRule struct {
	FullTag
	// contains filtered or unexported fields
}

满足一个条件就校验成功了,因为Or这个条件控制比较特殊,所以跟其他的不一样,使用Or<>包裹条件,各条件之间用空格符隔开 例如,想要一个联系方式的字符串校验,这个联系方式可以是电话号码Phone,也可以是email,就可以写为 Or<Phone Email>

func (*OrRule) Clone

func (r *OrRule) Clone() Rule

func (*OrRule) Generate

func (r *OrRule) Generate(value interface{}, tagValue string) error

func (*OrRule) Tag

func (r *OrRule) Tag() string

func (*OrRule) Valid

func (r *OrRule) Valid() error

type PhoneRule

type PhoneRule struct {
	FullTag
	// contains filtered or unexported fields
}

移动手机号码

func (*PhoneRule) Clone

func (r *PhoneRule) Clone() Rule

func (*PhoneRule) Generate

func (r *PhoneRule) Generate(value interface{}, tagValue string) error

func (*PhoneRule) Tag

func (r *PhoneRule) Tag() string

func (*PhoneRule) Valid

func (r *PhoneRule) Valid() error

type Rule

type Rule interface {
	Tag() string
	Generate(value interface{}, tagValue string) error
	Valid() error
	SetFullTag(tag string)
	GetFullTag() string
	Clone() Rule
}

func GetRule

func GetRule(fullTag string) (Rule, error)

GetRule 获取一个规则

type TelRule

type TelRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*TelRule) Clone

func (r *TelRule) Clone() Rule

func (*TelRule) Generate

func (r *TelRule) Generate(value interface{}, tagValue string) error

func (*TelRule) Tag

func (r *TelRule) Tag() string

func (*TelRule) Valid

func (r *TelRule) Valid() error

type ZipCodeRule

type ZipCodeRule struct {
	FullTag
	// contains filtered or unexported fields
}

func (*ZipCodeRule) Clone

func (r *ZipCodeRule) Clone() Rule

func (*ZipCodeRule) Generate

func (r *ZipCodeRule) Generate(value interface{}, tagValue string) error

func (*ZipCodeRule) Tag

func (r *ZipCodeRule) Tag() string

func (*ZipCodeRule) Valid

func (r *ZipCodeRule) Valid() error

Jump to

Keyboard shortcuts

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