aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/itmill/toolkit/ui')
-rw-r--r--src/com/itmill/toolkit/ui/AbstractField.java2
-rw-r--r--src/com/itmill/toolkit/ui/Form.java8
2 files changed, 8 insertions, 2 deletions
diff --git a/src/com/itmill/toolkit/ui/AbstractField.java b/src/com/itmill/toolkit/ui/AbstractField.java
index 2fa622c7d8..f97eb5e462 100644
--- a/src/com/itmill/toolkit/ui/AbstractField.java
+++ b/src/com/itmill/toolkit/ui/AbstractField.java
@@ -763,7 +763,7 @@ public abstract class AbstractField extends AbstractComponent implements Field,
// required fields, as in those cases user is aware of the problem.
// Furthermore, non-required empty fields are obviously correct.
ErrorMessage validationError = null;
- if (isValidationVisible() && !(isEmpty() && !isRequired())) {
+ if (isValidationVisible() && !(isEmpty() && isRequired())) {
try {
validate();
diff --git a/src/com/itmill/toolkit/ui/Form.java b/src/com/itmill/toolkit/ui/Form.java
index ecc8ec98cc..6e907b435c 100644
--- a/src/com/itmill/toolkit/ui/Form.java
+++ b/src/com/itmill/toolkit/ui/Form.java
@@ -211,7 +211,13 @@ public class Form extends AbstractField implements Item.Editor, Buffered, Item,
}
break;
} else if (f instanceof Field && !((Field) f).isValid()) {
- // Something is wring with the field, but no proper
+ // A required, empty field should not be marked invalid
+ AbstractField absField = (AbstractField) f;
+ if (absField.isEmpty() && absField.isRequired()) {
+ break;
+ }
+
+ // Something is wrong with the field, but no proper
// error is given. Generate one.
validationError = new Validator.InvalidValueException(
field.getCaption());