static void callValidators(FacesContext context,
UIInput input,
Object convertedValue) {
Validator[] validators = input.getValidators();
for (int i = 0; i < validators.length; i++)
{
Validator validator = validators[i];
try
{
validator.validate(context, input, convertedValue);
}
catch (ValidatorException e)
{
input.setValid(false);
FacesMessage facesMessage = e.getFacesMessage();
if (facesMessage != null)
{
facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage(input.getClientId(context), facesMessage);
}
}
}
MethodBinding validatorBinding = input.getValidator();
if (validatorBinding != null)
{
try
{
validatorBinding.invoke(context,
new Object[] {context, input, convertedValue});
}
catch (EvaluationException e)
{
input.setValid(false);
Throwable cause = e.getCause();
if (cause instanceof ValidatorException)
{
FacesMessage facesMessage = ((ValidatorException)cause).getFacesMessage();
if (facesMessage != null)
{
facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage(input.getClientId(context), facesMessage);
}
}
else
{
throw e;
}
}
}
}
|