Inquiry form error messages: inline validation, error copy, and retry rate optimization

When you validate and how you word the error decides whether a user fixes the problem and resubmits, or closes the tab and leaves. The core approach: validate required fields on blur (only check when the user leaves the field), and reserve inline validation for fields that need instant feedback, like password strength...

表单验证:时机决定完成率,文案决定重试率Form validation: timing sets completion, copy drives retry 失焦验证效果最好,逐字验证反而降低完成率 —— 用户不想被实时监督On-blur validation wins; live typing validation lowers completion 失焦验证On-blur 完成率最高Highest 提交时验证On-submit 完成率中等Medium 逐字验证Live typing 完成率最低Lowest 明确错误文案Clear message 重试率高High retry 模糊错误文案Vague message 放弃率高High dropout 错误文案三要素:指出哪个字段错了 · 说清楚为什么错 · 告诉怎么改Three parts: which field · why it’s wrong · how to fix it “邮箱格式不对”不如”请输入完整邮箱地址,例如name@company.com”“Invalid email” vs “Enter full email, e.g. name@company.com” 反直觉:实时验证越勤快,用户越焦虑 —— 打字时就被报错,打断思路Counter-intuitive: live validation = anxiety, breaks typing flow 用户填完一个字段,鼠标移开时再验证,体验最自然Validate when user leaves the field — most natural flow 判定标准:什么时候用哪种验证Decision rule: which validation when 必填字段、邮箱格式:失焦验证,用户离开时再检查Required, email format: validate on blur 密码强度、密码确认:实时验证,用户需要即时反馈Password strength, confirm: live validation 反直觉判断:验证越勤快不等于体验越好 —— 过度验证反而吓跑用户Counter-intuitive: more validation ≠ better; too much scares users off 提交后只保留已填内容,不要清空整个表单让用户重填Keep filled data after error — never clear the whole form
Validation timing and error message performance: blur validation gets the highest completion rate, and error copy must name the problem, explain why, and say how to fix it

Inquiry form error messages: inline validation, error copy, and retry rate optimization

Bottom line first: When you validate and how you word the error decides whether a user fixes the problem and resubmits, or closes the tab and leaves. The core approach: validate required fields on blur (only check when the user leaves the field), and reserve inline validation for fields that need instant feedback, like password strength. Error copy must cover three things: which field is wrong, why it’s wrong, and how to fix it, instead of just saying “invalid input.” If submission fails, keep everything the user has already entered. Don’t wipe the whole form and make them start over. Counterintuitively, character-by-character validation looks smarter but actually lowers completion rates, because getting an error while you type breaks your train of thought.

1. Validation timing: when to check without getting in the user’s way

There are three times to validate a form: on submit, on blur, and character by character. Most people assume inline validation is the smartest option, but the data says the opposite: character-by-character validation has the lowest completion rate, because errors interrupt users mid-keystroke and make them feel watched.

Blur validation strikes the best balance: the user finishes a field, moves the cursor away, and only then does the check run. By that point they’ve finished typing, so they can glance at the message and fix it without breaking their flow. Submit validation lands in the middle on completion rate, but making someone fill out a form for ten minutes and then hit a wall of red text means they have to hunt for what went wrong. That’s a bad experience.

Validation timing Completion rate How the user feels Best for Recommendation
Validate on submit Baseline 100% They only find out what’s wrong after finishing, and have to hunt for it Short, simple forms Acceptable, but not ideal
Validate on blur 115% to 125% They finish a field and the check runs right away Required fields, email, phone Preferred option
Character-by-character validation 85% to 95% Interrupted while typing, anxious Password strength, password confirmation Only for a few fields
Mixed validation 120% to 135% Mostly on blur, key fields inline Complex forms Best advanced practice

Mixed validation is the ideal setup: validate most fields on blur (so you don’t interrupt typing) and use inline validation for the few fields that need instant feedback, like password strength or whether the two passwords match. The test is simple: does the user need to know right away, while filling it in, whether it’s correct? If yes, go inline (password strength). If no, go blur (email format). For the overall form design logic, see Inquiry Form Field Design and Conversion Rate.

2. Error copy: tell users how to fix it, not just that it’s wrong

The most common mistake with error messages is writing “Invalid input” — users see it and have no idea what went wrong, why, or how to fix it. Vague messages like this get very low retry rates, because users have to guess where the problem is, and while guessing they give up. A good error message must do three things: point to the field that’s wrong, explain why it’s wrong, and tell the user exactly how to fix it.

For example: the user entered their email wrong. A bad message is “Invalid email format.” A good one is “Your email address is missing the @ symbol, for example name@company.com.” The second gets the highest retry rate, because the user doesn’t have to guess — they just fix it. Keep the tone calm. Avoid negative words like “error” or “invalid”; use neutral phrasing like “please check” or “looks incomplete.”

Error type Bad copy Good copy Retry rate lift
Required field left empty “This field is required” “Please enter your name — we’d like to know what to call you” 15% to 20% lift
Wrong email format “Email format is incorrect” “Your email address is missing the @ or the domain, for example name@company.com” 20% to 30% lift
Wrong phone format “Invalid phone number” “Please enter your full phone number with country code, for example +86 138xxxxxxxx” 15% to 25% lift
Field too short “Must be at least 6 characters” “Your password needs at least 6 characters — mixing letters and numbers is best” +10% to +15%
Server submission failed “Submission failed, please try again” “The network seems a bit unstable. Your answers are saved — just hit submit once more” 25% to 35% lift

Where you place the error message matters too: show it directly below the field it belongs to, not all stacked at the top of the form. When users see red text under a field, they know that’s the field with the problem. If everything is stacked at the top, they have to hunt down from the top, and if they can’t find it they give up. For reliable data delivery between the form and your backend, see Inquiry Form Reliability and Spam-Proof Delivery, and make sure errors are caught by front-end validation, not only discovered on the backend.

3. Retry rate optimization: how to get users to fix their mistakes and submit again

The moment users are most likely to give up on a form is right after they hit submit and a wall of red text appears. Handle that moment badly and they close the page and leave. The core principle of retry rate optimization is: after an error, make users redo as little as possible — keep what they’ve already filled in, focus on the first field with an error, and tell them how many errors are left to fix.

Three key design rules. First, if a submission fails, keep everything the user has already filled in. Never clear the form and make them start over. Forms that wipe everything see abandonment rates above 70%, while keeping the content drops that to 30-40%. Second, after an error, automatically focus the first field with a problem, so the user doesn’t have to hunt for what went wrong. The cursor jumps straight there. Third, if there are multiple errors, tell the user “2 more fields need fixing” so they know it’s not all wrong, just a few small things.

Design details Abandonment rate How the user feels Implementation cost
Clear the form on error Over 70% Wasted effort, just close it Minimum
Keep content but don’t focus 45% to 55% Have to find the error yourself Low
Keep content + auto-focus first error 25% to 35% Know exactly what to fix Medium
Keep content + focus + error count 15% to 25% Know how many spots are left Medium
Keep content + focus + per-field hints 10% to 20% Feels like someone guiding you High

One more detail: the submit button state. After the user clicks submit, the button should immediately change to “Submitting…” and be disabled to prevent double clicks. Many forms skip this state, so the user clicks, sees nothing happen, clicks again, and ends up submitting twice, creating two duplicate inquiries. This small design can cut duplicate submissions by more than half. For A/B testing methods, see Form A/B testing. The error message copy itself is a variable worth testing.

4. Common pitfalls and red lines

Mistake What teams do What actually happens The right way
Validate every field in real time as they type Show errors while they’re still typing Users get anxious, completion rate drops Most validate on blur, a few in real time
Error copy just says “Invalid input” Vague message Users don’t know how to fix it, give up Name the field + the reason + how to fix it
Clear the whole form on error Reload the page Abandonment rate over 70% Keep everything already filled in
Pile all errors at the top of the form One combined error list Users have to scroll down to find the error Show errors right below the field
Submit button doesn’t change state Nothing happens on click Users click again, duplicate submissions Disable the button while submitting
Scare people with red exclamation marks Big red text with exclamation marks Users get nervous, make more mistakes A gentle red hint, calm tone

Of these six pitfalls, the one that hurts conversion most is the second: vague error copy. Users don’t fill things in wrong on purpose. They just don’t know the correct format. If you tell them “Invalid input,” they’ll think your site is hard to use, not that they made a mistake. Tell them how to fill it in, give an example, and they’ll fix it and keep going. Error messages are there to help users finish the form, not to grade them.

FAQ

Should form validation be real-time or on submit?
Neither. Validation on blur works best: check a field only after the user finishes it and moves the cursor away. Inline validation (checking on every keystroke) has the lowest completion rate, because errors while typing break the user’s train of thought and feel like being watched. Validation on submit lands in the middle, but making users fill in a form for ten minutes and then hitting them with a wall of red text is a poor experience. Go with a hybrid: validate most fields on blur, and use inline validation only for the few fields that need instant feedback (password strength, password confirmation).
How do you write form error messages that actually help?
They must do three things: say which field is wrong, explain why it’s wrong, and tell the user exactly how to fix it. A bad message is “Invalid input.” A good one is “This email address is missing the @ symbol, for example name@company.com.” Avoid negative words like “error” and “invalid”; use neutral phrasing like “please check” or “looks incomplete.” Show each error directly below the field it belongs to. Don’t pile them all at the top of the form, or users have to hunt for what went wrong.
What if a failed submission wipes out what the user typed?
That’s the most damaging design mistake you can make for conversions. After an error, keep everything the user has already entered. Never clear the form and make them start over. Clearing the form pushes abandonment above 70%, while keeping the content drops it to 30% to 40%. The right approach: keep all the entered content, move focus to the first field with an error, and tell the user how many errors still need fixing. When users see that everything they typed is still there and only a few small things need changing, they’re far more willing to continue.
Should the submit button block double clicks?
Yes, always. The moment the user clicks submit, the button should switch to a submitting state and become disabled so they can’t click again. Many forms skip this, so users click, see no response, click again, and end up submitting twice, creating two duplicate inquiries. This small detail can cut duplicate submissions by more than half. Add a simple loading animation too, so users know the system is working.
What color and tone work best for error messages?
Use red, but nothing harsh. A standard error red like #d93025 is enough. Don’t use bright red, bold, oversized text to scare people. Keep the tone calm, like a friend giving you a heads-up rather than a teacher marking your homework. No exclamation marks, and no negative words like “error,” “invalid” or “incorrect.” Use gentler phrasing like “please check,” “looks incomplete” or “something’s missing here.” The more relaxed users feel, the faster they fix things and the more likely they are to try again.
How do you test whether form validation is working?
Track three metrics: overall form completion rate, retry-after-error rate, and duplicate submission rate. A higher completion rate means you got the validation timing right. A higher retry-after-error rate means your error messages are clear. A lower duplicate submission rate means your click protection is working. You can A/B test each one separately: validate on blur vs. on submit, specific error messages vs. vague ones, keep entered content vs. clear it. Test one variable at a time, run each test for at least two weeks, and don’t draw conclusions until you have enough samples.

Final thoughts

Form validation and error messages sound like front-end details, but they actually decide whether users fix their mistakes and keep going or just leave. Get the validation timing right and users won’t feel interrupted. Write clear error messages and users know how to fix the problem. Nail both and form completion rates can rise 15% to 25%. Often it’s not that users don’t want to fill out the form, it’s that they don’t know what’s wrong or how to fix it.

Three steps to implement: first, switch validation from on submit to on blur, so most fields are checked when the user leaves them. Second, rewrite error messages from “invalid input” to naming the field, explaining the reason, and giving an example. Third, add three safeguards: keep entered content after submission, auto-focus the first field with an error, and prevent duplicate clicks on the button. Once all three are done, check whether the retry-after-error rate improves.

One line worth remembering: form error messages aren’t telling users “you’re wrong,” they’re helping users “fill in the right answer.” Point out what’s wrong, why it’s wrong, and how to fix it, and users will fix it and keep going instead of closing the page and leaving.

Li Yaochao
Li Yaochao Crater experts

Founder · Head of Growth · Former Alibaba Team · Focused on Global Growth

Founder & Head of Growth at Crater. Formerly with Alibaba, I specialize in helping Chinese companies expand overseas through independent site development, Google SEO, and GEO (Generative Engine Optimization). I've led multiple foreign trade sites and DTC brands from zero to one, and I closely follow how large language models like ChatGPT and Gemini are reshaping overseas customer acquisition.

Global Growth StrategyGEO Trend AssessmentSelection Decision
1113articles shared
72knowledge base articles