Smart fix
Automatic error correction for your users
Smart fix helps your users correct validation errors with a single click. Even if you don't define transformers in your schema, Ivandt can automatically suggest fixes for common data issues.
Why it matters
Your users often have messy data: emails in uppercase, phone numbers with extra characters, dates in wrong formats. Smart fix detects these issues and offers one-click corrections.
Example:
- User imports:
"JOHN@EXAMPLE.COM" - Validation fails (you require lowercase)
- Smart fix button appears
- One click →
"john@example.com" - Validation passes ✓
How it works
When a cell fails validation, Ivandt shows a "Fix" button in the error tooltip. Behind the scenes, smart fix uses Ivandt's transformation system to intelligently correct the data based on the validation error type.
Common fixes:
| Error Type | Example Fix |
|---|---|
| Email format | "JOHN@EXAMPLE.COM" → "john@example.com" |
| Phone format | "4139009670" → "+1 413 900 9670" |
| URL format | "example.com" → "https://example.com" |
| Number format | "$1,234.56" → 1234.56 |
| Boolean format | "yes" → true |
| Date format | "12/31/2024" → "2024-12-31" |
| Typos in dropdowns | "Californiaa" → "California" |
| Out of range | 150 → 100 (if max: 100) |
Respecting your validation rules
Smart fix respects the options you define in your validators. This ensures fixes match your requirements.
Example:
{
key: 'email',
label: 'Corporate email',
validators: [
{
type: 'email',
options: {
allow_underscores: true,
require_tld: true
}
}
]
}When smart fix runs:
- Input:
"FIRST_LAST@ICLOUD" - Smart fix applies your rules: keeps underscores, adds TLD
- Output:
"first_last@icloud.com"
Combining with transformers
You can define transformers in your schema to clean data automatically on import. Smart fix complements this by handling errors that slip through.
Recommended approach:
{
key: 'email',
label: 'Email',
validators: [
{
type: 'email',
options: {
require_tld: true
}
}
],
transformers: [
{
action: 'formatEmails',
payload: {
options: {
require_tld: true
}
}
}
]
}This gives you:
- Automatic cleanup on import (transformer)
- One-click fixes for errors (smart fix)
- Consistent behavior (same options)
Smart fix examples
Phone number formatting
Cleans phone numbers by removing extra characters and formatting according to the specified country.

Number cleaning
Removes currency symbols, commas, and other non-numeric characters to extract the actual number.

Boolean conversion
Converts common boolean representations (yes/no, on/off, 1/0) to proper true/false values.

Fuzzy matching for dropdowns
Corrects typos in dropdown values by finding the closest match from available options.
