diff --git a/api/src/main/java/org/jboss/seam/faces/component/UIInputContainer.java b/api/src/main/java/org/jboss/seam/faces/component/UIInputContainer.java index ee389eb..cc0e7b8 100644 --- a/api/src/main/java/org/jboss/seam/faces/component/UIInputContainer.java +++ b/api/src/main/java/org/jboss/seam/faces/component/UIInputContainer.java @@ -412,9 +412,11 @@ private boolean isRequiredByConstraint(final EditableValueHolder input, final Va if (valueExpression != null) { ValueExpressionAnalyzer valueExpressionAnalyzer = new ValueExpressionAnalyzer(valueExpression); ValueReference vref = valueExpressionAnalyzer.getValueReference(context.getELContext()); - BeanDescriptor constraintsForClass = validator.getConstraintsForClass(vref.getBase().getClass()); - PropertyDescriptor d = constraintsForClass.getConstraintsForProperty((String) vref.getProperty()); - return (d != null) && d.hasConstraints(); + if (vref != null) { // valueExpressionAnalyzer can return a null value. The condition prevents a NPE + BeanDescriptor constraintsForClass = validator.getConstraintsForClass(vref.getBase().getClass()); + PropertyDescriptor d = constraintsForClass.getConstraintsForProperty((String) vref.getProperty()); + return (d != null) && d.hasConstraints(); + } } return false; }