- add information about max chars for inputs
This commit is contained in:
parent
92f8ae8fba
commit
b5dd052dbd
@ -38,8 +38,20 @@ const responseMessage = reactive({
|
|||||||
|
|
||||||
const isButtonDisabled = computed(() => buttonDisabled.value || errors.email || errors.message || errors.sender);
|
const isButtonDisabled = computed(() => buttonDisabled.value || errors.email || errors.message || errors.sender);
|
||||||
|
|
||||||
|
const messageLength = computed(() => `${message.value?.length ?? 0}/500`);
|
||||||
|
const senderLength = computed(() => `${sender.value?.length ?? 0}/50`);
|
||||||
|
|
||||||
watch([isError, message], async ([errorStatus, messageValue]) => {
|
watch([isError, message], async ([errorStatus, messageValue]) => {
|
||||||
errors.message = (messageValue !== null || errorStatus) && (messageValue?.length ?? 0) < 3 ? 'Wymanage są przynajmniej 3 znaki.' : null;
|
const errMsg = (len) => {
|
||||||
|
if (len < 3)
|
||||||
|
return 'Wymanage są przynajmniej 3 znaki.';
|
||||||
|
if (len > 500)
|
||||||
|
return 'Wiadomość nie może mieć więcej niż 500 znaków.';
|
||||||
|
};
|
||||||
|
errors.message = (messageValue !== null || errorStatus) &&
|
||||||
|
((messageValue?.length ?? 0) < 3 || (messageValue?.length ?? 0) > 500)
|
||||||
|
? errMsg(messageValue?.length ?? 0)
|
||||||
|
: null;
|
||||||
});
|
});
|
||||||
|
|
||||||
watch([isError, email], async ([errorStatus, emailValue]) => {
|
watch([isError, email], async ([errorStatus, emailValue]) => {
|
||||||
@ -47,7 +59,16 @@ watch([isError, email], async ([errorStatus, emailValue]) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
watch([isError, sender], async ([errorStatus, senderValue]) => {
|
watch([isError, sender], async ([errorStatus, senderValue]) => {
|
||||||
errors.sender = (senderValue !== null || errorStatus) && (senderValue?.length ?? 0) < 3 ? 'Proszę się przedstawić 😉' : null;
|
const errMsg = (len) => {
|
||||||
|
if (len < 3)
|
||||||
|
return 'Wymanage są przynajmniej 3 znaki.';
|
||||||
|
if (len > 50)
|
||||||
|
return 'Wiadomość nie może mieć więcej niż 50 znaków.';
|
||||||
|
};
|
||||||
|
errors.sender = (senderValue !== null || errorStatus) &&
|
||||||
|
((senderValue?.length ?? 0) < 3 || (senderValue?.length ?? 0) > 50)
|
||||||
|
? errMsg(senderValue?.length ?? 0)
|
||||||
|
: null;
|
||||||
});
|
});
|
||||||
|
|
||||||
function checkForm() {
|
function checkForm() {
|
||||||
@ -87,29 +108,29 @@ function formSubmit(event) {
|
|||||||
message: message.value,
|
message: message.value,
|
||||||
sender: sender.value,
|
sender: sender.value,
|
||||||
}).then(({ status, data }) => {
|
}).then(({ status, data }) => {
|
||||||
if (status === 200) {
|
console.log(status, data);
|
||||||
|
if (200 == status) {
|
||||||
email.value = null;
|
email.value = null;
|
||||||
sender.value = null;
|
sender.value = null;
|
||||||
message.value = null;
|
message.value = null;
|
||||||
|
|
||||||
responseMessage.type = 'ok';
|
responseMessage.type = 'ok';
|
||||||
responseMessage.data = data.message;
|
responseMessage.data = data.message;
|
||||||
} else if(status === 422) {
|
} else if (422 == status) {
|
||||||
responseMessage.type = 'err';
|
responseMessage.type = 'err';
|
||||||
responseMessage.data = 'Podane dane są niepoprawne. Sprawdź komunikaty pod polami.';
|
responseMessage.data = 'Podane dane są niepoprawne. Sprawdź komunikaty pod polami.';
|
||||||
|
|
||||||
errors.email = data.errors?.email[0] ?? null;
|
if (data.errors.email !== undefined)
|
||||||
errors.message = data.errors?.message[0] ?? null;
|
errors.email = data.errors.email[0];
|
||||||
errors.sender = data.errors?.sender[0] ?? null;
|
if (data.errors.message !== undefined)
|
||||||
|
errors.message = data.errors.message[0] ?? null;
|
||||||
|
if (data.errors.sender !== undefined)
|
||||||
|
errors.sender = data.errors.sender[0] ?? null;
|
||||||
} else {
|
} else {
|
||||||
responseMessage.type = 'err';
|
responseMessage.type = 'err';
|
||||||
responseMessage.data = 'Wystąpił błąd podczas wysyłania wiadomości. Proszę spróbować później.';
|
responseMessage.data = 'Wystąpił błąd podczas wysyłania wiadomości. Proszę spróbować później.';
|
||||||
}
|
}
|
||||||
buttonDisabled.value = false;
|
buttonDisabled.value = false;
|
||||||
}).catch(() => {
|
|
||||||
responseMessage.type = 'err';
|
|
||||||
responseMessage.data = 'Wystąpił błąd podczas wysyłania wiadomości. Proszę spróbować później.';
|
|
||||||
buttonDisabled.value = false;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,10 +186,9 @@ function scrollTo(id) {
|
|||||||
placeholder="Chciałbym zlecić wykonanie strony..."
|
placeholder="Chciałbym zlecić wykonanie strony..."
|
||||||
/>
|
/>
|
||||||
<span
|
<span
|
||||||
v-if="errors.message"
|
:class="{ 'text-red-400': errors.message }"
|
||||||
class="text-red-400"
|
|
||||||
>
|
>
|
||||||
{{ errors.message }}
|
{{ messageLength + (errors.message ? `. ${errors.message}` : '') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col gap-1 w-full">
|
<div class="flex flex-col gap-1 w-full">
|
||||||
@ -210,10 +230,9 @@ function scrollTo(id) {
|
|||||||
name="sender"
|
name="sender"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
v-if="errors.sender"
|
:class="{ 'text-red-400': errors.sender }"
|
||||||
class="text-red-400"
|
|
||||||
>
|
>
|
||||||
{{ errors.sender }}
|
{{ senderLength + (errors.sender ? `. ${errors.sender}` : '') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
|
Loading…
x
Reference in New Issue
Block a user