Current screenshot of a format constraint violation:
Quoting @Jan_Dittrich’s comment:
Note: In the current version, if the check is not satisfied, the user gets shown a regex.
Basic Problems:
- We can't expect users to know regex (of our 5 example users/personas, only 1 or 2 know what it is.
- Even if you know regex, they are hard to read even for experienced people
So, usability heuristics to apply here:
- "Match between system and the real world" (we should use concepts familiar to the user)
- "Consistency and standards" – our other constraint infos are pretty well to understand, this one is not
- "Help users recognize, diagnose, and recover from errors: Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution."
For the latter, we don't satisfy any of the user needs. We should:
- Say that it did not match [whateveritchecksfor], so like "The check for a URL failed."
- say what the problem is: It seems that your url does not have an "https://" in the begin
- suggest a fix, like "Try to add http:// or https:// in the beginning, if the URLs are otherwise correct"
So the error message would be: "Your input was checked and was not recognized as a URL"
Quoting @Esc3300’s comments (1, 2):
Maybe the qualifier "syntax clarification" could be displayed.
Sample from local dialing code (P473):
"string combining digits, spaces, - (All else excluded, such as: ,/;()+ )"
Alternatively, "string doesn't match expected form, see property constraint."