@@ -50,7 +50,7 @@ export default () => {
50
50
51
51
return (
52
52
< React . Fragment >
53
- < Field name = "username" rules = { [ { required : true } ] } >
53
+ < Field name = "username" rules = { [ { required : true , groupId : 'GroupA' , id : '1' } ] } >
54
54
< Input
55
55
placeholder = "Username"
56
56
onChange = { ( { target : { value } } ) => {
@@ -64,8 +64,10 @@ export default () => {
64
64
< Field
65
65
name = "password"
66
66
rules = { [
67
- { required : true } ,
67
+ { required : true , groupId : 'GroupA' , id : '2' } ,
68
68
context => ( {
69
+ groupId : 'GroupA' ,
70
+ id : '3' ,
69
71
validator ( _ , __ , callback ) {
70
72
if ( context . isFieldTouched ( 'password2' ) ) {
71
73
context . validateFields ( [ 'password2' ] ) ;
@@ -85,8 +87,10 @@ export default () => {
85
87
< Field
86
88
name = "password2"
87
89
rules = { [
88
- { required : true } ,
90
+ { required : true , groupId : 'GroupB' , id : '4' } ,
89
91
context => ( {
92
+ groupId : 'GroupB' ,
93
+ id : '5' ,
90
94
validator ( rule , value , callback ) {
91
95
const { password } = context . getFieldsValue ( true ) ;
92
96
if ( password !== value ) {
@@ -102,7 +106,7 @@ export default () => {
102
106
< FieldState form = { form } name = "password2" />
103
107
< Error > { password2Error } </ Error >
104
108
105
- < Field name = "renderProps" rules = { [ { required : true } ] } >
109
+ < Field name = "renderProps" rules = { [ { required : true , id : '6' } ] } >
106
110
{ ( control , meta ) => (
107
111
< div >
108
112
Use Meta:
@@ -117,8 +121,9 @@ export default () => {
117
121
name = "validateTrigger"
118
122
validateTrigger = { [ 'onSubmit' , 'onChange' ] }
119
123
rules = { [
120
- { required : true , validateTrigger : 'onSubmit' } ,
124
+ { required : true , validateTrigger : 'onSubmit' , id : '7' } ,
121
125
{
126
+ id : '8' ,
122
127
validator ( rule , value , callback ) {
123
128
setTimeout ( ( ) => {
124
129
if ( Number ( value ) . toString ( ) === value ) {
@@ -155,6 +160,38 @@ export default () => {
155
160
>
156
161
Validate All
157
162
</ button >
163
+ < button
164
+ type = "button"
165
+ onClick = { ( ) => {
166
+ form . validateFields ( {
167
+ groupId : 'GroupA' ,
168
+ } ) ;
169
+ } }
170
+ >
171
+ Validate GroupA
172
+ </ button >
173
+ < button
174
+ type = "button"
175
+ onClick = { ( ) => {
176
+ form . validateFields ( {
177
+ groupId : 'GroupB' ,
178
+ } ) ;
179
+ } }
180
+ >
181
+ Validate GroupB
182
+ </ button >
183
+ < button
184
+ type = "button"
185
+ onClick = { ( ) => {
186
+ form . validateFields ( {
187
+ ignore : ( rule ) => {
188
+ return ( Number ( rule . id ) % 2 ) === 0
189
+ }
190
+ } ) ;
191
+ } }
192
+ >
193
+ Validate Logical
194
+ </ button >
158
195
159
196
< button type = "submit" > Submit</ button >
160
197
</ React . Fragment >
0 commit comments