Validation Errors
Resolve form field validation problems, error messages, and input format issues.
Users seeing validation errors when trying to submit forms? This guide helps you diagnose and fix common field validation issues.
Validation happens at two levels: browser-side (immediate feedback) and server-side (security). Both must pass for successful submission.
Email Field Validation Failing
Users can't submit the form because the email field shows validation errors.
Common Causes:
- Extra spaces before or after email address
- Common domain typos (gmial.com instead of gmail.com)
- Invalid email format or missing @ symbol
- Email validation rules too strict
Solution:
-
Check for common email format issues:
- Valid format: user@domain.com
- Common mistakes: missing @, missing domain extension, trailing spaces
- Special characters in unexpected places
- Multiple @ symbols
-
Verify the email input type is correct:
- Email fields should use
type="email"attribute - This triggers browser validation and mobile email keyboard
- Check the form HTML to confirm input type
- Proper type ensures consistent validation
- Email fields should use
-
Consider automatically trimming whitespace:
- Leading and trailing spaces cause validation failures
- Automatic trimming improves user experience
- Users often don't notice extra spaces when copying/pasting
- Trim spaces before validation runs
-
Check for domain typos and suggestions:
- Common typos: gmial.com, yahooo.com, hotmial.com
- Some validators check if domains actually exist
- Consider showing "Did you mean gmail.com?" suggestions
- Be permissive with less common but valid domains
Show helpful error messages that guide users to correct their input. For example: "Please enter a valid email address like user@example.com"
Required Field Errors
Users receive errors about required fields not being filled in.
Common Causes:
- Required fields not clearly marked
- Hidden or conditional fields still marked required
- Multi-step forms with required fields on hidden steps
- User overlooking required field indicators
Solution:
-
Mark required fields clearly and visibly:
- Use asterisks (*) or "Required" labels next to field names
- Make required indicators visually prominent
- Use consistent styling for all required fields
- Consider color coding (but don't rely on color alone)
-
Check for hidden required fields:
- Hidden fields shouldn't be required
- Conditional fields should only be required when visible
- Review form logic for visibility rules
- Test all conditional paths in the form
-
Verify the required attribute is properly set:
- Check HTML for
requiredattribute on input elements - Required validation should trigger before submission
- Ensure form framework properly handles required fields
- Test that removing the attribute allows submission
- Check HTML for
-
Test multi-step forms thoroughly:
- Each step should validate before proceeding
- Required fields on later steps may be missed
- Walk through the entire form flow as a user
- Ensure step indicators show validation status
Never hide required error messages. Users must see clear feedback about which fields need to be filled in.
Phone Number Validation Issues
Phone number fields reject valid numbers or confuse users.
Common Causes:
- Validation too strict for international formats
- Not accepting various separator characters
- Country code handling issues
- Format examples don't match accepted formats
Solution:
-
Support international phone number formats:
- Allow country codes: +1, +44, +33, etc.
- Accept both formats: +1 (555) 123-4567 and 5551234567
- Don't assume all numbers are from one country
- Consider using international phone input libraries
-
Be flexible with separators and formatting:
- Allow dashes: 555-123-4567
- Allow dots: 555.123.4567
- Allow spaces: 555 123 4567
- Allow parentheses: (555) 123-4567
- Strip non-numeric characters before validating
-
Use the correct input type for mobile:
- Set
type="tel"to show number keyboard on mobile - Pattern attribute can suggest format but allow flexibility
- Mobile users appreciate proper keyboard types
- Test on actual mobile devices
- Set
-
Show clear format examples in placeholders:
- Example: "555-123-4567 or +1-555-123-4567"
- Placeholder text guides user input
- Update placeholder for international context if applicable
- Show accepted formats in help text
Custom Validation Rules Not Working
Your custom validation rules aren't being applied to form fields.
Common Causes:
- Validation rule syntax errors
- Rules not properly linked to fields
- Validation order issues
- Browser validation bypassing custom rules
Solution:
-
Check validation rule syntax and patterns:
- Regular expression patterns must be valid
- Test patterns with online regex testers
- Escape special characters properly
- Verify pattern matches intended inputs
-
Verify rules are attached to correct fields:
- Rules must be linked to specific field names or IDs
- Check validation configuration in form settings
- Ensure field identifiers match exactly (case-sensitive)
- Test that rules trigger on the intended fields
-
Understand validation order and empty fields:
- Required validation happens before custom rules
- Empty fields may skip custom validation entirely
- Optional fields with custom rules need special handling
- Test with both empty and filled fields
-
Implement server-side validation as backup:
- Browser validation can be bypassed by tech-savvy users
- Always validate on the server/system level for security
- Server validation provides the final security layer
- Never rely solely on browser-side validation
Test custom validation rules with both valid and invalid inputs to ensure they work correctly in all scenarios.
Validation Error Messages Not Visible
Form submission fails but users don't see any error messages explaining why.
Common Causes:
- CSS hiding error message elements
- Error messages rendering outside viewport
- JavaScript errors preventing error display
- Accessibility issues with error announcement
Solution:
-
Check where error messages should appear:
- Errors should display near the invalid field
- Check if error elements exist in the HTML
- Verify error messages aren't positioned off-screen
- Ensure errors appear in logical reading order
-
Verify error message styling and visibility:
- Error text color must contrast with background
- Check CSS
displayproperty isn't set tonone - Verify
visibilityisn't set tohidden - Ensure error text size is readable
-
Check browser console for JavaScript errors:
- Press F12 to open developer tools
- Go to the Console tab
- Look for red error messages
- JavaScript errors can prevent validation messages from appearing
-
Test form accessibility for screen readers:
- Error messages should be announced to screen readers
- Use proper ARIA attributes:
aria-invalid,aria-describedby - Associate error messages with their fields
- Test with actual screen reader if possible
Validation Behaves Differently Across Browsers
Validation works correctly in some browsers but fails or shows different messages in others.
Common Causes:
- Browsers implement native validation differently
- Different default error messages across browsers
- Browser-specific validation quirks
- Inconsistent support for HTML5 validation
Solution:
-
Understand browser-native validation differences:
- Chrome, Firefox, Safari, and Edge each handle validation differently
- Required, email, and pattern validation have different UX
- Error message text varies by browser
- Validation styling and positioning differs
-
Implement custom validation for consistency:
- Override native browser validation with custom messages
- Use JavaScript validation libraries for uniform behavior
- Create consistent error message styling
- Control exactly when and how errors appear
-
Test across all major browsers:
- Test in Chrome, Firefox, Safari, and Edge
- Include both desktop and mobile browsers
- Check iOS Safari and Android Chrome specifically
- Use browser testing tools for comprehensive coverage
-
Use progressive enhancement approach:
- Start with native HTML5 validation as baseline
- Layer custom validation on top for better UX
- Ensure forms work even if JavaScript fails
- Provide server-side validation as ultimate fallback
For enterprise users, test in browsers your audience actually uses. Check your analytics to see which browsers are most common.
Form Validation Best Practices
Follow these best practices to create forms with excellent validation UX:
- Validate fields when users leave them (on blur), not just on submit
- Show clear, specific error messages that explain how to fix the issue
- Mark required fields visibly with asterisks or "Required" labels
- Provide format examples in placeholder text (e.g., "555-123-4567")
- Always validate on the server level for security, never client-side only
- Give immediate feedback as users type for complex validation
- Focus the first invalid field when submission fails
- Use color, icons, and text together for accessibility