diff options
author | Cedric Beust <cedric@beust.com> | 2017-01-25 16:27:53 -0800 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2017-01-25 16:27:53 -0800 |
commit | 77c70ce263acc56f359c6d6fe04b44efeb2d7187 (patch) | |
tree | 140891d299d4cd6e29314ae2fbd1d9f88e40c530 /src/main/java/com/beust/jcommander/JCommander.java | |
parent | 5d60be917de7770521e9fe57da9a69152488df0c (diff) | |
download | jcommander-77c70ce263acc56f359c6d6fe04b44efeb2d7187.tar.gz |
Fix GITHUB-322.
https://github.com/cbeust/jcommander/issues/322
Diffstat (limited to 'src/main/java/com/beust/jcommander/JCommander.java')
-rw-r--r-- | src/main/java/com/beust/jcommander/JCommander.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java index 60ee09b..0af216c 100644 --- a/src/main/java/com/beust/jcommander/JCommander.java +++ b/src/main/java/com/beust/jcommander/JCommander.java @@ -797,12 +797,17 @@ public class JCommander { } else if (index < args.length - 1) { int offset = "--".equals(args[index + 1]) ? 1 : 0; + Object finalValue = null; if (index + arity < args.length) { for (int j = 1; j <= arity; j++) { String value = trim(args[index + j + offset]); - pd.addValue(arg, value, false, validate); + finalValue = pd.addValue(arg, value, false, validate); requiredFields.remove(pd.getParameterized()); } + + if (finalValue != null && validate) { + pd.validateValueParameter(arg, finalValue); + } index += arity + offset; } else { throw new ParameterException("Expected " + arity + " values after " + arg); |