else if (result instanceof CannotYetResolveWarning)
return null;
BigDecimal max = (BigDecimal) result;
if (decimal.compareTo(min) < 0 || decimal.compareTo(max) > 0)
return hasFailMessage() ? getFailMessage() : new ValidationError("validation.numeric.range", new String[]{min.toString(), max.toString()});
return null;
} else if (minExpr != null) {
Object result = evaluateNumeric(minExpr, expressionContext, MIN_ATTR, RANGE_ELEM);
if (result instanceof ValidationError)
return (ValidationError) result;
else if (result instanceof CannotYetResolveWarning)
return null;
BigDecimal min = (BigDecimal) result;
if (decimal.compareTo(min) < 0)
return hasFailMessage() ? getFailMessage() : new ValidationError("validation.numeric.min", new String[]{min.toString()});
return null;
} else if (maxExpr != null) {
Object result = evaluateNumeric(maxExpr, expressionContext, MAX_ATTR, RANGE_ELEM);
if (result instanceof ValidationError)
return (ValidationError) result;
else if (result instanceof CannotYetResolveWarning)
return null;
BigDecimal max = (BigDecimal) result;
if (decimal.compareTo(max) > 0)
return hasFailMessage() ? getFailMessage() : new ValidationError("validation.numeric.max", new String[]{max.toString()});
return null;
}
return null;
}