|
|
@@ -51,17 +51,20 @@
|
|
|
<v-file-input
|
|
|
id="jobApplicationResume"
|
|
|
v-model="resumeUpload"
|
|
|
- :rules="[validateResume]"
|
|
|
+ :rules="[validateResume, validateFileSize]"
|
|
|
label="Dépôt de CV*"
|
|
|
accept=".pdf, .jpeg, .png"
|
|
|
+ show-size
|
|
|
required
|
|
|
/>
|
|
|
|
|
|
<v-file-input
|
|
|
id="jobApplicationMotivationLetter"
|
|
|
v-model="motivationLetterUpload"
|
|
|
+ :rules="[validateFileSize]"
|
|
|
label="Dépôt de lettre de motivation"
|
|
|
accept=".pdf, .jpeg, .png"
|
|
|
+ show-size
|
|
|
/>
|
|
|
|
|
|
<v-textarea
|
|
|
@@ -86,7 +89,7 @@
|
|
|
|
|
|
<v-card-actions class="justify-center">
|
|
|
<v-btn
|
|
|
- class="btn-more mb-4"
|
|
|
+ class="btn-more mb-4 submit"
|
|
|
@click="submit"
|
|
|
>
|
|
|
Envoyer
|
|
|
@@ -124,6 +127,9 @@ const leftCars: ComputedRef<number> = computed(() =>
|
|
|
maxMessageLength - (jobApplication.message ? jobApplication.message.length : 0)
|
|
|
)
|
|
|
|
|
|
+// Taille maximum en Mo
|
|
|
+const maxFileSize = 5
|
|
|
+
|
|
|
const validateName = (name: string | null) => !!name || "Le nom est obligatoire";
|
|
|
|
|
|
const validateSurname = (surname: string | null) => !!surname || "Le prénom est obligatoire";
|
|
|
@@ -134,9 +140,16 @@ const validateEmail = (email: string | null) =>
|
|
|
const validatePhone = (email: string | null) =>
|
|
|
(!!email && /^((\+|00)33\s?|0)[1-7]([\s.]?\d{2}){4}$/.test(email)) || "Le numéro de téléphone doit être valide";
|
|
|
|
|
|
-const validateResume = (surname: string | null) =>
|
|
|
+const validateResume = () =>
|
|
|
resumeUpload.value !== null && resumeUpload.value[0] !== null || "Vous devez joindre un CV à l'un des formats indiqués";
|
|
|
|
|
|
+const validateFileSize = () =>
|
|
|
+ resumeUpload.value !== null
|
|
|
+ && resumeUpload.value[0] !== null
|
|
|
+ //@ts-ignore
|
|
|
+ && resumeUpload.value[0].size < (maxFileSize * 1024 * 1024)
|
|
|
+ || "La taille du fichier ne doit pas dépasser " + maxFileSize + " Mo";
|
|
|
+
|
|
|
const validateNonEmptyMessage = (message: string | null) =>
|
|
|
(!!message && message.length > 0) ||
|
|
|
"Le message ne peut pas être vide";
|
|
|
@@ -179,5 +192,13 @@ const submit = async () => {
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
-
|
|
|
+.submit {
|
|
|
+ width: 100%;
|
|
|
+ margin-bottom: 0 !important;
|
|
|
+ height: 55px;
|
|
|
+}
|
|
|
+
|
|
|
+.submit:hover {
|
|
|
+ background-color: var(--on-neutral-color-extra-light);
|
|
|
+}
|
|
|
</style>
|