import {computed, ComputedRef} from "@vue/reactivity"; import {useFormStore} from "~/stores/form"; /** * Composable pour gérer l'apparition de message d'erreurs de validation d'un champ de formulaire * * @param field */ export function useFieldViolation(field: string) { const fieldViolations: ComputedRef = computed(()=> { return useGet(useFormStore().violations, field, '') }) /** * Lorsque la valeur d'un champ change, on supprime le fait qu'il puisse être "faux" dans le store * @param field * @param value */ function updateViolationState(field: string, value: any) { //@ts-ignore useFormStore().setViolations(useOmit(useFormStore().violations, field)) } return { fieldViolations, updateViolationState: (fieldValue: any) => updateViolationState(fieldValue, field) } }