rule

package
v0.0.0-...-3a6d849 Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2020 License: MIT Imports: 13 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
)
View Source
const (
	NO_UPPERCASE_LETTER      = 8606
	NO_LOWERCASE_LETTER      = 8607
	NO_FIGURES               = 8608
	ILLEGAL_CHARACTERS       = 8609
	ILLEGAL_CHARACTERS_ERROR = 11120
)

Variables

View Source
var Model bool

Functions

func DrawPasswordCheck

func DrawPasswordCheck(pwd string) bool

取款密码校验

func HtmlFilter

func HtmlFilter(src string, clean bool, replace string) (string, bool, error)

是否含有HTML标签

func JavascriptFilter

func JavascriptFilter(src string) bool

是否含有javascript

func PasswordCheck

func PasswordCheck(pwd string) (bool, int, error)

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 HtmlRule

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

校验html

func (*HtmlRule) Clone

func (r *HtmlRule) Clone() Rule

func (*HtmlRule) Generate

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

func (*HtmlRule) Tag

func (r *HtmlRule) Tag() string

func (*HtmlRule) Valid

func (r *HtmlRule) Valid() error

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 PasswordRule

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

校验password

func (*PasswordRule) Clone

func (r *PasswordRule) Clone() Rule

func (*PasswordRule) Generate

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

func (*PasswordRule) Tag

func (r *PasswordRule) Tag() string

func (*PasswordRule) Valid

func (r *PasswordRule) 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