File tree Expand file tree Collapse file tree 1 file changed +14
-13
lines changed
Expand file tree Collapse file tree 1 file changed +14
-13
lines changed Original file line number Diff line number Diff line change @@ -101,22 +101,23 @@ const Form = <TSchema extends z.ZodType<FormDataType>, TData extends z.TypeOf<TS
101101 } ;
102102
103103 const handleSubmit = async ( event : React . FormEvent < HTMLFormElement > ) => {
104- const minSubmitTime = new Promise < void > ( ( resolve ) =>
105- suspendWhileSubmitting ? setTimeout ( resolve , 500 ) : resolve ( )
106- ) ;
104+ event . preventDefault ( ) ;
105+ const result = await validationSchema . safeParseAsync ( values ) ;
106+ if ( ! result . success ) {
107+ console . error ( result . error . issues ) ;
108+ handleError ( result . error ) ;
109+ return ;
110+ }
107111 try {
108112 setIsSubmitting ( true ) ;
109- event . preventDefault ( ) ;
110- const result = await validationSchema . safeParseAsync ( values ) ;
111- if ( result . success ) {
112- await onSubmit ( result . data ) ;
113- reset ( ) ;
114- } else {
115- console . error ( result . error . issues ) ;
116- handleError ( result . error ) ;
117- }
113+ await Promise . all ( [
114+ onSubmit ( result . data ) ,
115+ new Promise < void > ( ( resolve ) => {
116+ return suspendWhileSubmitting ? setTimeout ( resolve , 500 ) : resolve ( ) ;
117+ } )
118+ ] ) ;
119+ reset ( ) ;
118120 } finally {
119- await minSubmitTime ;
120121 setIsSubmitting ( false ) ;
121122 }
122123 } ;
You can’t perform that action at this time.
0 commit comments