feat(#79): Enhance form security and accessibility

This commit is contained in:
Josh Creek
2024-11-10 19:55:57 +00:00
parent 829d8cc031
commit 3b1ffb21a6
+15 -3
View File
@@ -31,7 +31,9 @@
action="?" action="?"
use:enhance={handleSubmit} use:enhance={handleSubmit}
class="max-w-lg mx-auto p-4 bg-base-200 rounded-lg shadow-md" class="max-w-lg mx-auto p-4 bg-base-200 rounded-lg shadow-md"
aria-labelledby="contact-form-title"
> >
<h2 id="contact-form-title" class="text-xl font-bold mb-4">Contact Us</h2>
{#if error} {#if error}
<div class="alert alert-error shadow-lg mb-4"> <div class="alert alert-error shadow-lg mb-4">
<div> <div>
@@ -41,7 +43,7 @@
{/if} {/if}
<div class="form-control mb-4"> <div class="form-control mb-4">
<label for="name" class="label"> <label for="name" class="label">
<span class="label-text">Name</span> <span class="label-text">Name *</span>
</label> </label>
<input <input
id="name" id="name"
@@ -49,13 +51,16 @@
type="text" type="text"
bind:value={name} bind:value={name}
class="input input-bordered" class="input input-bordered"
aria-required="true"
minlength="2"
maxlength="100"
required required
/> />
</div> </div>
<div class="form-control mb-4"> <div class="form-control mb-4">
<label for="email" class="label"> <label for="email" class="label">
<span class="label-text">Email</span> <span class="label-text">Email *</span>
</label> </label>
<input <input
id="email" id="email"
@@ -63,21 +68,28 @@
type="email" type="email"
bind:value={email} bind:value={email}
class="input input-bordered" class="input input-bordered"
aria-required="true"
minlength="5"
maxlength="100"
required required
/> />
</div> </div>
<div class="form-control mb-4"> <div class="form-control mb-4">
<label for="message" class="label"> <label for="message" class="label">
<span class="label-text">Message</span> <span class="label-text">Message *</span>
</label> </label>
<textarea <textarea
id="message" id="message"
name="message" name="message"
bind:value={message} bind:value={message}
class="textarea textarea-bordered" class="textarea textarea-bordered"
aria-required="true"
minlength="10"
maxlength="1000"
required required
></textarea> ></textarea>
<small class="text-sm mt-1">Maximum 1000 characters</small>
</div> </div>
<div class="form-control"> <div class="form-control">