disable save when form is invalid

This commit is contained in:
Josh Hawkins 2026-02-15 22:10:29 -06:00
parent 65dc9b2bac
commit ea13342bcb

View File

@ -216,6 +216,8 @@ export interface ConfigFormProps {
formData: unknown, formData: unknown,
errors: FormValidation, errors: FormValidation,
) => FormValidation; ) => FormValidation;
/** Called whenever form validation state changes */
onValidationChange?: (hasErrors: boolean) => void;
} }
export function ConfigForm({ export function ConfigForm({
@ -237,6 +239,7 @@ export function ConfigForm({
formContext, formContext,
i18nNamespace, i18nNamespace,
customValidate, customValidate,
onValidationChange,
}: ConfigFormProps) { }: ConfigFormProps) {
const { t, i18n } = useTranslation([ const { t, i18n } = useTranslation([
i18nNamespace || "common", i18nNamespace || "common",
@ -319,9 +322,10 @@ export function ConfigForm({
const handleChange = useCallback( const handleChange = useCallback(
(e: IChangeEvent) => { (e: IChangeEvent) => {
onValidationChange?.(Array.isArray(e.errors) && e.errors.length > 0);
onChange?.(e.formData); onChange?.(e.formData);
}, },
[onChange], [onChange, onValidationChange],
); );
const handleSubmit = useCallback( const handleSubmit = useCallback(