@@ -32,6 +32,7 @@ const PolicyForm: React.FC<PolicyFormProps> = ({
3232 setFormData,
3333 tags,
3434 errors,
35+ clearFieldError,
3536} ) => {
3637 const theme = useTheme ( ) ;
3738 const { users } = useUsers ( ) ;
@@ -43,8 +44,9 @@ const PolicyForm: React.FC<PolicyFormProps> = ({
4344 ...prevValues ,
4445 [ prop ] : newValue ,
4546 } ) ) ;
47+ clearFieldError ( prop ) ;
4648 } ,
47- [ ]
49+ [ clearFieldError ]
4850 ) ;
4951
5052 const handleDateChange = useCallback ( ( newDate : Dayjs | null ) => {
@@ -53,8 +55,9 @@ const PolicyForm: React.FC<PolicyFormProps> = ({
5355 ...prevValues ,
5456 nextReviewDate : newDate ? newDate . toISOString ( ) : "" ,
5557 } ) ) ;
58+ clearFieldError ( "nextReviewDate" ) ;
5659 }
57- } , [ ] ) ;
60+ } , [ clearFieldError ] ) ;
5861
5962 const autocompleteSlotProps = {
6063 paper : {
@@ -88,9 +91,10 @@ const PolicyForm: React.FC<PolicyFormProps> = ({
8891 label = "Policy title"
8992 width = "100%"
9093 value = { formData . title ?? "" }
91- onChange = { ( e ) =>
92- setFormData ( ( prev ) => ( { ...prev , title : e . target . value } ) )
93- }
94+ onChange = { ( e ) => {
95+ setFormData ( ( prev ) => ( { ...prev , title : e . target . value } ) ) ;
96+ clearFieldError ( "title" ) ;
97+ } }
9498 error = { errors . title }
9599 sx = { {
96100 backgroundColor : `${ background . main } ` ,
@@ -306,6 +310,7 @@ const PolicyForm: React.FC<PolicyFormProps> = ({
306310 const statusValue = e . target . value ;
307311 if ( typeof statusValue === "string" ) {
308312 setFormData ( ( prev ) => ( { ...prev , status : statusValue } ) ) ;
313+ clearFieldError ( "status" ) ;
309314 }
310315 } }
311316 items = { statuses . map ( ( s ) => ( { _id : s , name : s } ) ) }
0 commit comments