Component
Validation States Input
Input fields with validation feedback states for error, success, warning, and info
- Component
- Tailwind
- MIT
Preview
Live component
9:41 100%
devsnips.dev/library/tailwind/components/input/validation-states/ fluid · no fixed width 100%
Install
Add to your project
npx devsnips add Tailwind/Components/Input/validation-states Tailwind/Components/Input/validation-states <!-- Validation - Error -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Email</label>
<input type="email" value="invalid-email" class="w-full px-4 py-3 bg-red-50 border border-red-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-red-500 focus:border-red-500 transition-colors" />
<p class="mt-1.5 text-sm text-red-600 flex items-center gap-1">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
Please enter a valid email address
</p>
</div>
<!-- Validation - Success -->
<div class="mt-6">
<label class="block text-sm font-medium text-gray-700 mb-1">Username</label>
<div class="relative">
<input type="text" value="johndoe" class="w-full px-4 py-3 pr-12 bg-green-50 border border-green-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-colors" />
<div class="absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none">
<svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
</svg>
</div>
</div>
<p class="mt-1.5 text-sm text-green-600 flex items-center gap-1">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
Username is available
</p>
</div>
<!-- Validation - Warning -->
<div class="mt-6">
<label class="block text-sm font-medium text-gray-700 mb-1">Password Strength</label>
<input type="password" value="password123" class="w-full px-4 py-3 bg-amber-50 border border-amber-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-amber-500 focus:border-amber-500 transition-colors" />
<div class="mt-2 flex gap-1">
<div class="h-1.5 flex-1 rounded-full bg-red-400"></div>
<div class="h-1.5 flex-1 rounded-full bg-amber-400"></div>
<div class="h-1.5 flex-1 rounded-full bg-gray-200"></div>
<div class="h-1.5 flex-1 rounded-full bg-gray-200"></div>
</div>
<p class="mt-1.5 text-sm text-amber-600 flex items-center gap-1">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
Weak password. Add numbers and symbols.
</p>
</div>
<!-- Validation - Info -->
<div class="mt-6">
<label class="block text-sm font-medium text-gray-700 mb-1">Referral Code</label>
<input type="text" placeholder="Enter referral code" class="w-full px-4 py-3 bg-blue-50 border border-blue-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors" />
<p class="mt-1.5 text-sm text-blue-600 flex items-center gap-1">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
Get 20% off with code FRIEND2024
</p>
</div> # Validation States
Input validation state styles (error, success, etc.).
## Usage
```bash
npx devsnips add Tailwind/Components/Input/validation-states
```
Copy from `code.html`. Pair error styles with text messages; do not rely on color alone.
## File Structure
`code.html` · `preview.html` · `metadata.json` · `README.md` 60 lines UTF-8 · LF · Spaces: 2
Continue browsing