useValidation.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {useI18n} from 'vue-i18n'
  2. import {useAp2iRequestService} from "~/composables/data/useAp2iRequestService";
  3. import UrlUtils from "~/services/utils/urlUtils";
  4. import type {Ref} from "@vue/reactivity";
  5. /**
  6. * @category composables/form
  7. * Composable pour des utils de verifications
  8. */
  9. export function useValidation() {
  10. /**
  11. * Use méthode fournissant une fonction pour tester la validité d'un Siret ainsi que la gestion du message d'erreur
  12. */
  13. function useValidateSiret() {
  14. const siretError: Ref<boolean> = ref(false)
  15. const siretErrorMessage: Ref<string> = ref('')
  16. const validateSiret = async (siret: string) => {
  17. const { apiRequestService } = useAp2iRequestService()
  18. const response: any = await apiRequestService.get(UrlUtils.join('/api/siret-checking', siret))
  19. if (typeof response === 'undefined') {
  20. siretError.value = false
  21. siretErrorMessage.value = ''
  22. }
  23. const i18n = useI18n()
  24. siretError.value = !response.isCorrect
  25. siretErrorMessage.value = response.isCorrect ? '' : i18n.t('siret_error') as string
  26. }
  27. return {
  28. siretError,
  29. siretErrorMessage,
  30. validateSiret
  31. }
  32. }
  33. return {
  34. useValidateSiret
  35. }
  36. }