diff --git a/app/components/app/treatment-report/entry-form.vue b/app/components/app/treatment-report/entry-form.vue index 77367f97..8e19cc64 100644 --- a/app/components/app/treatment-report/entry-form.vue +++ b/app/components/app/treatment-report/entry-form.vue @@ -35,7 +35,9 @@ interface Props { const props = defineProps() const emit = defineEmits<{ (e: 'submit', payload: FormData): void + (e: 'error', errors: Error): void }>() + const { isLoading, mode = 'create' } = props const isReadonly = computed(() => { if (isLoading) { @@ -48,6 +50,7 @@ const isReadonly = computed(() => { return false }) + const formSchema = toTypedSchema(TreatmentReportSchema) const { handleSubmit, values, resetForm, setFieldValue, setValues, validate } = useForm({ @@ -75,12 +78,20 @@ defineExpose({ // #endregion region // #region Utilities & event handlers -const onSubmit = handleSubmit((formValues: FormData) => emit('submit', formValues)) +// const onSubmit = handleSubmit((formValues: FormData) => emit('submit', formValues)) +const onSubmit = handleSubmit( + (values) => { + emit('submit', values) + }, + (errors) => { + emit('error', new Error('Silahkan lengkapi form terlebih dahulu')) + }, +) // #endregion