The current default validation messages in Application.properties make
no logical sense.
At the moment, if you put in a value that is larger than a
NumberValidator maximum it says:
"5 must be smaller than 3"
Which it can't be, not even for very small values of 5.
To fix this, we need to do one of the following two things:
1. Change ${input} to ${label}, in which case they would all make sense.
2. Change the text so it actually makes sense in the context of ${input}
as in the attached patch. e.g. "5 is larger than 3.", which would
at least tell you what's currently wrong with it.
I appreciate the argument that people don't call setLabel() when they
should do, but the current set-up isn't nice.
Thoughts?
Regards,
Al
--
Alastair Maw
Wicket-biased blog at http://herebebeasties.com
Index: /home/almaw/svn/wicket/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.properties
===================================================================
--- /home/almaw/svn/wicket/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.properties (revision 553981)
+++ /home/almaw/svn/wicket/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.properties (working copy)
@@ -15,18 +15,18 @@
Required=Field '${label}' is required.
IConverter='${input}' is not a valid ${type}.
-NumberValidator.range=${input} must be between ${minimum} and ${maximum}.
-NumberValidator.minimum='${input}' must be greater than ${minimum}.
-NumberValidator.maximum='${input}' must be smaller than ${maximum}.
+NumberValidator.range=${input} is not between ${minimum} and ${maximum}.
+NumberValidator.minimum='${input}' is smaller than ${minimum}.
+NumberValidator.maximum='${input}' is larger than ${maximum}.
-StringValidator.range='${input}' must be between ${minimum} and ${maximum} characters.
-StringValidator.minimum='${input}' must be at least ${minimum} characters.
-StringValidator.maximum='${input}' must be at most ${maximum} characters.
-StringValidator.exact='${input}' must be ${exact} characters long.
+StringValidator.range='${input}' is not between ${minimum} and ${maximum} characters.
+StringValidator.minimum='${input}' is less than ${minimum} characters.
+StringValidator.maximum='${input}' is more than ${maximum} characters.
+StringValidator.exact='${input}' is not exactly ${exact} characters long.
-DateValidator.range='${input}' must be between ${minimum} and ${maximum}.
-DateValidator.minimum='${input}' must be greater than ${minimum}.
-DateValidator.maximum='${input}' must be smaller than ${maximum}.
+DateValidator.range='${input}' is not between ${minimum} and ${maximum}.
+DateValidator.minimum='${input}' is less than ${minimum}.
+DateValidator.maximum='${input}' is larger than ${maximum}.