瀏覽代碼

fix job application validation

Olivier Massot 1 年之前
父節點
當前提交
7f1244934d
共有 1 個文件被更改,包括 19 次插入7 次删除
  1. 19 7
      components/JoinUs/Form.vue

+ 19 - 7
components/JoinUs/Form.vue

@@ -42,7 +42,7 @@
           <v-file-input
           <v-file-input
             id="jobApplicationResume"
             id="jobApplicationResume"
             v-model="resumeUpload"
             v-model="resumeUpload"
-            :rules="[validateResume, validateFileSize]"
+            :rules="[validateResume, validateResumeFileSize]"
             label="Dépôt de CV*"
             label="Dépôt de CV*"
             accept=".pdf, .jpeg, .png"
             accept=".pdf, .jpeg, .png"
             show-size
             show-size
@@ -52,7 +52,10 @@
           <v-file-input
           <v-file-input
             id="jobApplicationMotivationLetter"
             id="jobApplicationMotivationLetter"
             v-model="motivationLetterUpload"
             v-model="motivationLetterUpload"
-            :rules="[validateFileSize]"
+            :rules="[
+              validateMotivationLetter,
+              validateMotivationLetterFileSize,
+            ]"
             label="Dépôt de lettre de motivation"
             label="Dépôt de lettre de motivation"
             accept=".pdf, .jpeg, .png"
             accept=".pdf, .jpeg, .png"
             show-size
             show-size
@@ -134,14 +137,25 @@ const validatePhone = (email: string | null) =>
 
 
 const validateResume = () =>
 const validateResume = () =>
   (resumeUpload.value !== null && resumeUpload.value[0] !== null) ||
   (resumeUpload.value !== null && resumeUpload.value[0] !== null) ||
-  "Vous devez joindre un CV à l'un des formats indiqués"
+  "Vous devez joindre un CV à l'un des formats suivants : .pdf, .jpeg, .png"
 
 
-const validateFileSize = () =>
+const validateResumeFileSize = () =>
   (resumeUpload.value !== null &&
   (resumeUpload.value !== null &&
     // @ts-ignore
     // @ts-ignore
     resumeUpload.value.size < maxFileSize * 1024 * 1024) ||
     resumeUpload.value.size < maxFileSize * 1024 * 1024) ||
   'La taille du fichier ne doit pas dépasser ' + maxFileSize + ' Mo'
   'La taille du fichier ne doit pas dépasser ' + maxFileSize + ' Mo'
 
 
+const validateMotivationLetter = () =>
+  motivationLetterUpload.value === null ||
+  motivationLetterUpload.value[0] !== null ||
+  "Vous devez joindre votre lettre de motivation à l'un des formats suivants : .pdf, .jpeg, .png"
+
+const validateMotivationLetterFileSize = () =>
+  motivationLetterUpload.value === null ||
+  // @ts-ignore
+  motivationLetterUpload.value.size < maxFileSize * 1024 * 1024 ||
+  'La taille du fichier ne doit pas dépasser ' + maxFileSize + ' Mo'
+
 const validateNonEmptyMessage = (message: string | null) =>
 const validateNonEmptyMessage = (message: string | null) =>
   (!!message && message.length > 0) || 'Le message ne peut pas être vide'
   (!!message && message.length > 0) || 'Le message ne peut pas être vide'
 
 
@@ -167,9 +181,7 @@ const submit = async () => {
       ? {
       ? {
           // @ts-ignore
           // @ts-ignore
           name: motivationLetterUpload.value.name,
           name: motivationLetterUpload.value.name,
-          content: await FileUtils.blobToBase64(
-            motivationLetterUpload.value
-          ),
+          content: await FileUtils.blobToBase64(motivationLetterUpload.value),
         }
         }
       : null
       : null