-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinit.go
86 lines (76 loc) · 2.85 KB
/
init.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package validation
import "github.com/behzadsh/go.validator/rules"
var defaultLocale string
var stopOnFirstFailure bool
var registry map[string]rules.Rule
func init() {
// initiate with default rules
registerDefaultRules()
defaultLocale = "en"
}
// SetDefaultLocale sets the default locale for validation error translations.
func SetDefaultLocale(locale string) {
defaultLocale = locale
}
// StopOnFirstFailure sets an option to stop validation process when the first
// validation occurs.
func StopOnFirstFailure() {
stopOnFirstFailure = true
}
// Register registers a rule object with given rule name in rule registry.
func Register(ruleName string, rule rules.Rule) {
registry[ruleName] = rule
}
func registerDefaultRules() {
registry = map[string]rules.Rule{
"after": &rules.After{},
"afterOrEqual": &rules.AfterOrEqual{},
"alpha": &rules.Alpha{},
"alphaDash": &rules.AlphaDash{},
"alphaNum": &rules.AlphaNum{},
"alphaSpace": &rules.AlphaSpace{},
"array": &rules.Array{},
"before": &rules.Before{},
"beforeOrEqual": &rules.BeforeOrEqual{},
"between": &rules.Between{},
"boolean": &rules.Boolean{},
"dateTime": &rules.DateTime{},
"different": &rules.Different{},
"digits": &rules.Digits{},
"digitsBetween": &rules.DigitsBetween{},
"email": &rules.Email{},
"endsWith": &rules.EndsWith{},
"gt": &rules.GreaterThan{},
"gte": &rules.GreaterThanEqual{},
"in": &rules.In{},
"integer": &rules.Integer{},
"length": &rules.Length{},
"lowercase": &rules.Lowercase{},
"lt": &rules.LessThan{},
"lte": &rules.LessThanEqual{},
"max": &rules.Max{},
"maxDigits": &rules.MaxDigits{},
"maxLength": &rules.MaxLength{},
"min": &rules.Min{},
"minDigits": &rules.MinDigits{},
"minLength": &rules.MinLength{},
"neq": &rules.NotEqual{},
"notEmpty": &rules.NotEmpty{},
"notIn": &rules.NotIn{},
"notRegex": &rules.NotRegex{},
"numeric": &rules.Numeric{},
"regex": &rules.Regex{},
"required": &rules.Required{},
"requiredIf": &rules.RequiredIf{},
"requiredUnless": &rules.RequiredUnless{},
"requiredWith": &rules.RequiredWith{},
"requiredWithAll": &rules.RequiredWithAll{},
"requiredWithout": &rules.RequiredWithout{},
"requiredWithoutAll": &rules.RequiredWithoutAll{},
"sameAs": &rules.SameAs{},
"startsWith": &rules.StartsWith{},
"string": &rules.String{},
"uppercase": &rules.Uppercase{},
"uuid": &rules.UUID{},
}
}