/** * Validate the value against model-based constraints return true if the * value is valid */ protected boolean validateValue(String valueExpression, Object value) { ValueExpression ve = application.getExpressionFactory().createValueExpression(facesContext.getELContext(), valueExpression, Object.class); Set<ConstraintViolation<Object>> ivs = Validators.instance().validate(ve, facesContext.getELContext(), value); if (ivs.size() > 0) { validationFailed = true; String message = ivs.iterator().next().getMessage(); facesContext.addMessage(null, FacesMessages.createFacesMessage(FacesMessage.SEVERITY_ERROR, message)); return false; } else { return true; } }
try invalidValues = Validators.instance().validate( valueExpression.toUnifiedValueExpression(), elContext, value );
public void validate(FacesContext facesContext, UIComponent component, Object value) throws ValidatorException { ValueExpression valueExpression = component.getValueExpression("value"); if (valueExpression != null) { //TODO: note that this code is duplicated to Param.getValueFromRequest()!! Set<ConstraintViolation<Object>> invalidValues; try { invalidValues = Validators.instance().validate( valueExpression, facesContext.getELContext(), value ); } catch (ELException ele) { Throwable cause = ele.getCause(); if (cause==null) cause = ele; throw new ValidatorException(createMessage(cause), cause); } if ( invalidValues!=null && invalidValues.size()>0 ) { throw new ValidatorException(createMessage(invalidValues, resolveLabel(facesContext, component))); } } }