1
- import { randomColor } from '../utils/colors' ;
1
+ import colors , { randomColor } from '../utils/colors' ;
2
2
3
3
const fields = {
4
4
type : {
5
5
label : 'Type' ,
6
6
rules : [
7
- { required : true , message : 'Required' } ,
7
+ { required : true } ,
8
+ { type : 'enum' , enum : [ 'client' , 'tenant' , 'partner' ] } ,
8
9
] ,
9
10
initialValue : 'client' ,
11
+ domainValues : [
12
+ { key : 'client' , value : 'Client' } ,
13
+ { key : 'partner' , value : 'Partner' } ,
14
+ { key : 'tenant' , value : 'Tenant' } ,
15
+ ] ,
16
+ validateTrigger : 'onBlur' ,
10
17
} ,
11
18
12
19
name : {
13
20
label : 'Name' ,
14
21
rules : [
15
- { required : true , message : 'Required' } ,
22
+ { required : true } ,
23
+ { whitespace : true } ,
24
+ { min : 3 , max : 30 } ,
16
25
{ pattern : / ^ [ a - z A - Z 0 - 9 ] * $ / , message : 'Unauthorized character' } ,
17
- { pattern : / ^ .{ 3 , 30 } $ / , message : 'Length should be between 3 and 30 chars.' } ,
18
26
] ,
27
+ validateTrigger : 'onBlur' ,
19
28
} ,
20
29
21
30
color : {
22
31
label : 'Color' ,
23
32
rules : [
24
- { required : true , message : 'Required' } ,
25
- { pattern : / ^ # [ a - z A - Z 0 - 9 ] { 6 } $ / , message : 'Invalid color' } ,
33
+ { required : true } ,
34
+ { type : 'enum' , enum : colors } ,
26
35
] ,
27
36
initialValue : randomColor ( ) ,
37
+ domainValues : colors ,
38
+ validateTrigger : 'onBlur' ,
28
39
} ,
29
40
30
41
preferred : {
@@ -35,30 +46,58 @@ const fields = {
35
46
36
47
website : {
37
48
label : 'Website' ,
49
+ rules : [
50
+ { type : 'url' } ,
51
+ ] ,
52
+ validateTrigger : 'onBlur' ,
38
53
} ,
39
54
40
55
street : {
41
56
label : 'Street' ,
57
+ rule : [
58
+ { whitespace : true } ,
59
+ ] ,
60
+ validateTrigger : 'onBlur' ,
42
61
} ,
43
62
44
63
zipcode : {
45
64
label : 'Zip Code' ,
65
+ rule : [
66
+ { whitespace : true } ,
67
+ ] ,
68
+ validateTrigger : 'onBlur' ,
46
69
} ,
47
70
48
71
city : {
49
72
label : 'City' ,
73
+ rule : [
74
+ { whitespace : true } ,
75
+ ] ,
76
+ validateTrigger : 'onBlur' ,
50
77
} ,
51
78
52
79
country : {
53
80
label : 'Country' ,
81
+ rule : [
82
+ { whitespace : true } ,
83
+ ] ,
84
+ validateTrigger : 'onBlur' ,
54
85
} ,
55
86
56
87
tags : {
57
88
label : 'Tags' ,
89
+ rule : [
90
+ { whitespace : true } ,
91
+ ] ,
92
+ validateTrigger : 'onBlur' ,
58
93
} ,
59
94
60
95
notes : {
61
96
label : 'Notes' ,
97
+ rule : [
98
+ { whitespace : true } ,
99
+ ] ,
100
+ validateTrigger : 'onBlur' ,
62
101
} ,
63
102
64
103
} ;
0 commit comments