@@ -36,7 +36,6 @@ const useAJVForm = <T extends Record<string, any>>(
3636 [ options ?. debug ] ,
3737 ) ;
3838
39- // Precompute field dependencies
4039 const fieldDependencies = useMemo ( ( ) => {
4140 const dependencies : Record < string , string [ ] > = { } ;
4241 if ( schema . allOf ) {
@@ -92,6 +91,7 @@ const useAJVForm = <T extends Record<string, any>>(
9291 : getErrors ( errors , options ?. userDefinedMessages , logger , schema ) ;
9392
9493 const error = fieldErrors [ fieldName as string ] || '' ;
94+
9595 setState ( ( prevState ) => ( {
9696 ...prevState ,
9797 [ fieldName ] : {
@@ -121,8 +121,8 @@ const useAJVForm = <T extends Record<string, any>>(
121121 } , { } as T ) ;
122122
123123 logger . log ( 'Validating entire form:' , { data } ) ;
124- const isValid = AJVValidate ( data ) ;
125124
125+ const isValid = AJVValidate ( data ) ;
126126 if ( ! isValid && AJVValidate . errors ) {
127127 logger . error ( 'Form validation failed with errors:' , AJVValidate . errors ) ;
128128
@@ -131,6 +131,7 @@ const useAJVForm = <T extends Record<string, any>>(
131131 options ?. userDefinedMessages ,
132132 logger ,
133133 ) ;
134+
134135 setState ( ( prevState ) =>
135136 Object . keys ( prevState ) . reduce ( ( updatedState , fieldName ) => {
136137 return {
@@ -146,7 +147,6 @@ const useAJVForm = <T extends Record<string, any>>(
146147 return { isValid : false , data : null } ;
147148 }
148149
149- // Clear errors if valid
150150 setState ( ( prevState ) =>
151151 Object . keys ( prevState ) . reduce ( ( updatedState , fieldName ) => {
152152 return {
@@ -163,24 +163,14 @@ const useAJVForm = <T extends Record<string, any>>(
163163 return { isValid : true , data } ;
164164 } ;
165165
166- const isDirty = useMemo ( ( ) => {
167- return Object . keys ( state ) . some (
168- ( key ) => state [ key ] . value !== initialStateRef . current [ key ] . value ,
169- ) ;
170- } , [ state ] ) ;
171-
172- const isValid = useMemo (
173- ( ) => Object . keys ( state ) . every ( ( key ) => ! state [ key ] . error ) ,
174- [ state ] ,
175- ) ;
176-
177166 const setErrors = ( errors : ErrorObject [ ] ) => {
178167 const newErrors = getErrors (
179168 errors ,
180169 options ?. userDefinedMessages ,
181170 logger ,
182171 schema ,
183172 ) ;
173+
184174 setState ( ( prevState ) =>
185175 Object . keys ( newErrors ) . reduce ( ( updatedState , fieldName ) => {
186176 return {
@@ -194,6 +184,17 @@ const useAJVForm = <T extends Record<string, any>>(
194184 ) ;
195185 } ;
196186
187+ const isDirty = useMemo ( ( ) => {
188+ return Object . keys ( state ) . some (
189+ ( key ) => state [ key ] . value !== initialStateRef . current [ key ] . value ,
190+ ) ;
191+ } , [ state ] ) ;
192+
193+ const isValid = useMemo (
194+ ( ) => Object . keys ( state ) . every ( ( key ) => ! state [ key ] . error ) ,
195+ [ state ] ,
196+ ) ;
197+
197198 useEffect ( ( ) => {
198199 if (
199200 ! debouncedField ||
0 commit comments