File tree 3 files changed +41
-1
lines changed
3 files changed +41
-1
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ ' vee-validate ' : patch
3
+ ---
4
+
5
+ fix: defineField should respect global validateOnModelUpdate closes #4567
Original file line number Diff line number Diff line change @@ -1033,7 +1033,10 @@ export function useForm<
1033
1033
return base as BaseFieldProps & TExtras ;
1034
1034
} ) ;
1035
1035
1036
- const model = createModel ( path , ( ) => evalConfig ( ) . validateOnModelUpdate ?? true ) ;
1036
+ const model = createModel (
1037
+ path ,
1038
+ ( ) => evalConfig ( ) . validateOnModelUpdate ?? getConfig ( ) ?. validateOnModelUpdate ?? true ,
1039
+ ) ;
1037
1040
1038
1041
return [ model , props ] as [ Ref < TValue > , Ref < BaseFieldProps & TExtras > ] ;
1039
1042
}
Original file line number Diff line number Diff line change @@ -1351,4 +1351,36 @@ describe('useForm()', () => {
1351
1351
form . resetField ( 'fname' , { value : 'test' } ) ;
1352
1352
expect ( form . meta . value . dirty ) . toBe ( false ) ;
1353
1353
} ) ;
1354
+
1355
+ test ( 'defineField respects global model config' , async ( ) => {
1356
+ let form ! : FormContext < { fname : string ; lname : string } > ;
1357
+ let model ! : Ref < string > ;
1358
+ configure ( {
1359
+ validateOnModelUpdate : false ,
1360
+ } ) ;
1361
+
1362
+ mountWithHoc ( {
1363
+ setup ( ) {
1364
+ form = useForm ( {
1365
+ initialValues : { fname : '123' , lname : '456' } ,
1366
+ validationSchema : yup . object ( {
1367
+ fname : yup . string ( ) . required ( ) ,
1368
+ } ) ,
1369
+ } ) ;
1370
+
1371
+ const field = form . defineField ( 'fname' ) ;
1372
+ model = field [ 0 ] ;
1373
+
1374
+ return { } ;
1375
+ } ,
1376
+ template : `
1377
+ <div></div>
1378
+ ` ,
1379
+ } ) ;
1380
+
1381
+ await flushPromises ( ) ;
1382
+ model . value = '' ;
1383
+ await flushPromises ( ) ;
1384
+ await expect ( form . errors . value . fname ) . toBe ( undefined ) ;
1385
+ } ) ;
1354
1386
} ) ;
You can’t perform that action at this time.
0 commit comments