Forms
Default Inputs
<div class="grid grid-cols-12 gap-4">
<div class="col-span-12">
<label class="form-label">Basic Input</label>
<input type="text" name="#0" class="form-control">
</div>
<div class="col-span-12">
<label class="form-label">Input with Placeholder</label>
<input type="text" name="#0" class="form-control" placeholder="info@gmail.com">
</div>
<div class="col-span-12">
<label class="form-label">Input with Phone </label>
<input type="text" class="form-control grow" placeholder="+1 (555) 253-08515">
</div>
<div class="col-span-12">
<label class="form-label">Input Date</label>
<input type="date" name="#0" class="form-control">
</div>
<div class="col-span-12">
<label class="form-label">Input with Payment</label>
<div class="flex">
<span class="inline-flex items-center px-3 border rounded-e-0 border-e-0 rounded-s-md border-neutral-200 dark:border-neutral-600">
<img src="assets/images/card/payment-icon.png" alt="image">
</span>
<input type="text" class="form-control grow rounded-ss-none rounded-es-none" placeholder="Card Number">
</div>
</div>
</div>
Input Group
http://
This is a hint text to help user.
<div class="grid grid-cols-12 gap-4">
<div class="col-span-12">
<label class="form-label">Input</label>
<div class="flex">
<span class="inline-flex items-center px-3 border rounded-e-0 border-e-0 rounded-s-md border-neutral-200 dark:border-neutral-600">
<iconify-icon icon="mynaui:envelope"></iconify-icon>
</span>
<input type="text" class="form-control grow rounded-ss-none rounded-es-none" placeholder="info@gmail.com">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Input</label>
<div class="flex">
<select class="form-select flex-grow-0 rounded-se-none rounded-ee-none border-e-0 w-auto">
<option>US</option>
<option>US</option>
<option>US</option>
<option>US</option>
<option>US</option>
</select>
<input type="text" class="form-control grow rounded-ss-none rounded-es-none" placeholder="info@gmail.com">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Input</label>
<div class="flex">
<input type="text" class="form-control grow rounded-se-none rounded-ee-none" placeholder="info@gmail.com">
<select class="form-select flex-grow-0 rounded-ss-none rounded-es-none border-s-0 w-auto">
<option>US</option>
<option>US</option>
<option>US</option>
<option>US</option>
<option>US</option>
</select>
</div>
</div>
<div class="col-span-12">
<label class="form-label">Input</label>
<div class="flex">
<span class="inline-flex items-center px-3 border rounded-e-0 border-e-0 rounded-s-md border-neutral-200 dark:border-neutral-600">
http://
</span>
<input type="text" class="form-control grow rounded-ss-none rounded-es-none" placeholder="www.random.com">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Input</label>
<div class="flex">
<input type="text" class="form-control grow rounded-se-none rounded-ee-none" placeholder="www.random.com">
<button type="button" class="inline-flex items-center px-3 border rounded-s-0 border-s-0 rounded-e-md border-neutral-200 dark:border-neutral-600"><iconify-icon icon="lucide:copy"></iconify-icon>Copy</button>
</div>
<p class="text-sm mt-2 mb-0">This is a hint text to help user.</p>
</div>
</div>
Input Sizing
<div class="grid grid-cols-12 gap-4">
<div class="col-span-12">
<label class="form-label">Input Large</label>
<input type="text" name="#0" class="form-control py-4" placeholder="info@gmail.com">
</div>
<div class="col-span-12">
<label class="form-label">Input Medium</label>
<input type="text" name="#0" class="form-control" placeholder="info@gmail.com">
</div>
<div class="col-span-12">
<label class="form-label">Input Small</label>
<input type="text" name="#0" class="form-control py-2 text-sm" placeholder="info@gmail.com">
</div>
</div>
Input Form With Icons
<div class="grid grid-cols-12 gap-4">
<div class="col-span-12">
<label class="form-label">First Name</label>
<div class="icon-field">
<span class="icon">
<iconify-icon icon="f7:person"></iconify-icon>
</span>
<input type="text" name="#0" class="form-control" placeholder="Enter First Name">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Last Name</label>
<div class="icon-field">
<span class="icon">
<iconify-icon icon="f7:person"></iconify-icon>
</span>
<input type="text" name="#0" class="form-control" placeholder="Enter Last Name">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Email</label>
<div class="icon-field">
<span class="icon">
<iconify-icon icon="mage:email"></iconify-icon>
</span>
<input type="email" name="#0" class="form-control" placeholder="Enter Email">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Phone</label>
<div class="icon-field">
<span class="icon">
<iconify-icon icon="solar:phone-calling-linear"></iconify-icon>
</span>
<input type="text" name="#0" class="form-control" placeholder="+1 (555) 000-0000">
</div>
</div>
<div class="col-span-12">
<label class="form-label">Password</label>
<div class="icon-field">
<span class="icon">
<iconify-icon icon="solar:lock-password-outline"></iconify-icon>
</span>
<input type="password" name="#0" class="form-control" placeholder="*******">
</div>
</div>
<div class="col-span-12">
<button type="submit" class="btn btn-primary-600">Submit</button>
</div>
</div>
Horizontal Input Form
<div class="card-body">
<div class="grid grid-cols-12 gap-y-4 items-center mb-6">
<label class="form-label mb-0 sm:col-span-2 col-span-12">First Name</label>
<div class="sm:col-span-10 col-span-12">
<input type="text" name="#0" class="form-control" placeholder="Enter First Name">
</div>
</div>
<div class="grid grid-cols-12 gap-y-4 items-center mb-6">
<label class="form-label mb-0 sm:col-span-2 col-span-12">Last Name</label>
<div class="sm:col-span-10 col-span-12">
<input type="text" name="#0" class="form-control" placeholder="Enter Last Name">
</div>
</div>
<div class="grid grid-cols-12 gap-y-4 items-center mb-6">
<label class="form-label mb-0 sm:col-span-2 col-span-12">Email</label>
<div class="sm:col-span-10 col-span-12">
<input type="email" name="#0" class="form-control" placeholder="Enter Email">
</div>
</div>
<div class="grid grid-cols-12 gap-y-4 items-center mb-6">
<label class="form-label mb-0 sm:col-span-2 col-span-12">Phone</label>
<div class="sm:col-span-10 col-span-12">
<div class="flex">
<select class="form-select flex-grow-0 rounded-se-none rounded-ee-none border-e-0 w-auto">
<option>US</option>
<option>US</option>
<option>US</option>
<option>US</option>
</select>
<input type="text" name="#0" class="form-control grow rounded-ss-none rounded-es-none" placeholder="+1 (555) 000-0000">
</div>
</div>
</div>
<div class="grid grid-cols-12 gap-y-4 items-center mb-6">
<label class="form-label mb-0 sm:col-span-2 col-span-12">Password</label>
<div class="sm:col-span-10 col-span-12">
<input type="password" name="#0" class="form-control" placeholder="*******">
</div>
</div>
<button type="submit" class="btn btn-primary-600">Submit</button>
</div>
Example
<form class="grid grid-cols-12 gap-4">
<div class="md:col-span-6 col-span-12">
<label class="form-label">First Name</label>
<div class="icon-field has-validation">
<span class="icon">
<iconify-icon icon="f7:person"></iconify-icon>
</span>
<input type="text" name="#0" class="form-control" placeholder="Enter First Name" required>
</div>
</div>
<div class="md:col-span-6 col-span-12">
<label class="form-label">Last Name</label>
<div class="icon-field has-validation">
<span class="icon">
<iconify-icon icon="f7:person"></iconify-icon>
</span>
<input type="text" name="#0" class="form-control" placeholder="Enter Last Name" required>
</div>
</div>
<div class="md:col-span-6 col-span-12">
<label class="form-label">Email</label>
<div class="icon-field has-validation">
<span class="icon">
<iconify-icon icon="mage:email"></iconify-icon>
</span>
<input type="email" name="#0" class="form-control" placeholder="Enter Email" required>
</div>
</div>
<div class="md:col-span-6 col-span-12">
<label class="form-label">Phone</label>
<div class="icon-field has-validation">
<span class="icon">
<iconify-icon icon="solar:phone-calling-linear"></iconify-icon>
</span>
<input type="text" name="#0" class="form-control" placeholder="+1 (555) 000-0000" required>
</div>
</div>
<div class="md:col-span-6 col-span-12">
<label class="form-label">Password</label>
<div class="icon-field has-validation">
<span class="icon">
<iconify-icon icon="solar:lock-password-outline"></iconify-icon>
</span>
<input type="password" name="#0" class="form-control" placeholder="*******" required>
</div>
</div>
<div class="md:col-span-6 col-span-12">
<label class="form-label">Confirm Password</label>
<div class="icon-field has-validation">
<span class="icon">
<iconify-icon icon="solar:lock-password-outline"></iconify-icon>
</span>
<input type="password" name="#0" class="form-control" placeholder="*******" required>
</div>
</div>
<div class="col-span-12">
<button class="btn btn-primary-600" type="submit">Submit form</button>
</div>
</form>
JavaScript
// Fetch all the forms we want to apply custom Bootstrap validation styles to
const forms = document.querySelectorAll('.needs-validation')
// Loop over them and prevent submission
Array.from(forms).forEach(form => {
form.addEventListener('submit', event => {
if (!form.checkValidity()) {
event.preventDefault()
event.stopPropagation()
}
form.classList.add('was-validated')
}, false)
})